[teklib-general] teklib: TDATE type changed to a single 64bit integer; Several mo...
Timm S. Mueller
tmueller at neoscientists.org
Sat Jan 10 01:35:25 CET 2009
details: http://hg.teklib.org/teklib/rev/b36538e3e1f7
changeset: 219:b36538e3e1f7
user: Timm S. Mueller <tmueller at neoscientists.org>
date: Fri Jan 09 13:01:37 2009 +0100
description:
TDATE type changed to a single 64bit integer; Several module bases got their
own proper types now instead of TAPTR; struct TTime and TTIME are now defined
in tek/exec.h; added tek/mod/display.h; lots of cosmetics and cleanup
diffs (truncated from 3061 to 100 lines):
diff -r 0b24cd7a0979 -r b36538e3e1f7 src/date/astro_mod.c
--- a/src/date/astro_mod.c Wed Jan 07 19:43:19 2009 +0100
+++ b/src/date/astro_mod.c Fri Jan 09 13:01:37 2009 +0100
@@ -20,16 +20,14 @@
#define MOD_REVISION 8
#define MOD_NUMVECTORS 20
-typedef struct
+struct TAstroBase
{
struct TModule mod;
+ TAPTR exec;
TAPTR util;
TAPTR lock;
TUINT refcount;
-
-} TMOD_ASTRO;
-
-#define TExecBase TGetExecBase(astro)
+};
#ifndef LOCAL
#define LOCAL
@@ -52,28 +50,28 @@
static const TMFPTR mod_vectors[MOD_NUMVECTORS];
static THOOKENTRY TTAG mod_dispatch(struct THook *hook, TAPTR obj, TTAG msg);
-static TMOD_ASTRO *mod_open(TMOD_ASTRO *astro, TTAGITEM *tags);
-static void mod_close(TMOD_ASTRO *astro);
+static struct TAstroBase *mod_open(struct TAstroBase *astro, TTAGITEM *tags);
+static void mod_close(struct TAstroBase *astro);
-EXPORT void dt_geteaster(TMOD_ASTRO *astro, TINT y,TINT *d, TINT *m );
-EXPORT TINT dt_getastrofacts(TMOD_ASTRO *astro, TTAGITEM *in, TTAGITEM *out);
-EXPORT void dt_getsunpos(TMOD_ASTRO *astro, TDOUBLE T, TDOUBLE *Ra,
+EXPORT void dt_geteaster(struct TAstroBase *astro, TINT y,TINT *d, TINT *m );
+EXPORT TINT dt_getastrofacts(struct TAstroBase *astro, TTAGITEM *in, TTAGITEM *out);
+EXPORT void dt_getsunpos(struct TAstroBase *astro, TDOUBLE T, TDOUBLE *Ra,
TDOUBLE *Dec, TDOUBLE *di);
-EXPORT void dt_objectriseset(TMOD_ASTRO *astro, TDOUBLE T, TDOUBLE Ra,
+EXPORT void dt_objectriseset(struct TAstroBase *astro, TDOUBLE T, TDOUBLE Ra,
TDOUBLE Dec, TFLOAT l, TFLOAT b, TINT ob, TFLOAT *rt, TFLOAT *st);
-EXPORT void dt_converttohms(TMOD_ASTRO *astro, TFLOAT t, TINT *h, TINT *m,
+EXPORT void dt_converttohms(struct TAstroBase *astro, TFLOAT t, TINT *h, TINT *m,
TINT *s);
-EXPORT void dt_getmoonpos(TMOD_ASTRO *astro, TDOUBLE T, TDOUBLE *Ra,
+EXPORT void dt_getmoonpos(struct TAstroBase *astro, TDOUBLE T, TDOUBLE *Ra,
TDOUBLE *Dec, TDOUBLE *di);
-EXPORT void dt_getflexevent(TMOD_ASTRO *astro, TINT y, TTAGITEM *events);
-EXPORT void dt_getphases(TMOD_ASTRO *astro,struct TDateBox *db,
+EXPORT void dt_getflexevent(struct TAstroBase *astro, TINT y, TTAGITEM *events);
+EXPORT void dt_getphases(struct TAstroBase *astro,struct TDateBox *db,
struct TDTMoonPhase *phase);
-EXPORT void dt_nexteclipse(TMOD_ASTRO *astro,struct TDateBox *db,
+EXPORT void dt_nexteclipse(struct TAstroBase *astro,struct TDateBox *db,
struct TDTEclipse *eclipse, TINT mode);
-EXPORT TBOOL dt_makedate(TMOD_ASTRO *astro, TDATE *date, TINT d, TINT m,
+EXPORT TBOOL dt_makedate(struct TAstroBase *astro, TDATE *date, TINT d, TINT m,
TINT y, TTIME *tm);
-EXPORT TDOUBLE dt_datetojulian(TMOD_ASTRO *tmod, TDATE *td);
-EXPORT void dt_juliantodmy(TMOD_ASTRO *mod, TDOUBLE jd, TINT *pd, TINT *pm,
+EXPORT TDOUBLE dt_datetojulian(struct TAstroBase *tmod, TDATE *td);
+EXPORT void dt_juliantodmy(struct TAstroBase *mod, TDOUBLE jd, TINT *pd, TINT *pm,
TINT *py);
/*****************************************************************************/
@@ -125,28 +123,26 @@
** Module init
*/
-TMODENTRY TUINT
-tek_init_astro(struct TTask *task, TMOD_ASTRO *astro, TUINT16 version, TTAGITEM *tags)
+TMODENTRY TUINT tek_init_astro(struct TTask *task, struct TAstroBase *astro,
+ TUINT16 version, TTAGITEM *tags)
{
if (astro == TNULL)
{
if (version == 0xffff)
- return sizeof(TAPTR) * MOD_NUMVECTORS; /* negative size */
-
+ return sizeof(TAPTR) * MOD_NUMVECTORS;
if (version <= MOD_VERSION)
- return sizeof(TMOD_ASTRO); /* positive size */
-
+ return sizeof(struct TAstroBase);
return 0;
}
- astro->lock = TExecCreateLock(TExecBase, TNULL);
+ astro->exec = TGetExecBase(astro);
+ astro->lock = TExecCreateLock(astro->exec, TNULL);
if (astro->lock)
{
astro->mod.tmd_Version = MOD_VERSION;
astro->mod.tmd_Revision = MOD_REVISION;
astro->mod.tmd_Handle.thn_Hook.thk_Entry = mod_dispatch;
astro->mod.tmd_Flags = TMODF_VECTORTABLE | TMODF_OPENCLOSE;
-
TInitVectors(astro, mod_vectors, MOD_NUMVECTORS);
return TTRUE;
More information about the teklib-general
mailing list