home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef HH_TEMPLATE_H
- #define HH_TEMPLATE_H
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- #ifndef EXEC_MEMORY_H
- #include <exec/memory.h>
- #endif
-
- #ifndef _CDECL
- #define _CDECL(a) _cdecl(a)
- #ifndef _cdecl(a)
- #define _cdecl(a) ()
- #endif
- #endif
-
- #define MEMF_X (MEMF_PUBLIC|MEMF_CLEAR)
- #define MEMF_CHIP_X (MEMF_CHIP|MEMF_X)
- #define MEMF_FAST_X (MEMF_FAST|MEMF_X)
-
- typedef struct TEMPLATE {
- BOOL tp_Flags; /* A/K/S or EOTP */
- TEXT *tp_Key; /* KeyWord */
- TEXT **tp_UserVar; /* If Not NULL, Filled With ArgV */
- TEXT *tp_ArgV; /* Set By FetchTemplate() */
- } TEMPLATE;
-
- extern TEMPLATE Template[]; /* User Must Declare The Real Array */
-
- /* TEMPLATE.tp_Flags, user settable */
- #define NOFLAGS (0x00L) /* Normal Name */
- #define A_FLAG (0x01L) /* One That Must Be Given */
- #define K_FLAG (0x02L) /* Keyword Must Be Preceded If Given */
- #define S_FLAG (0x04L) /* The Ultimate Switch */
- #define EOTP (0x80L) /* End Of Template */
- /* another flag, but set by FetchTemplate() */
- #define FETCHED (0x40L) /* Found A Match */
-
- extern BOOL FetchTemplate _CDECL((LONG argc, TEXT *argv[]));
- extern VOID ReleaseTemplate _CDECL((VOID));
- extern TEXT *KeyArgV _CDECL((TEXT *key));
- extern TEXT *DefaultKeyArgV _CDECL((TEXT *key, TEXT *defkey));
-
- #endif
-
-