home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / comm / cyberpager-1.5.lha / CyberPager / source / library / GSTmaker.h < prev    next >
C/C++ Source or Header  |  1994-10-05  |  4KB  |  133 lines

  1. #include <exec/types.h>
  2. #include <exec/lists.h>
  3. #include <exec/nodes.h>
  4. #include <exec/memory.h>
  5. #include <exec/ports.h>
  6. #include <exec/tasks.h>
  7. #include <exec/alerts.h>
  8. #include <exec/libraries.h>
  9. #include <exec/semaphores.h>
  10. #include <exec/execbase.h>
  11. #include <dos/dos.h>
  12. #include <dos/dosextens.h>
  13. #include <dos/dostags.h>
  14. #include <dos/datetime.h>
  15. #include <dos/rdargs.h>
  16. #include <utility/tagitem.h>
  17. #include <utility/hooks.h>
  18.  
  19. #include <clib/exec_protos.h>
  20. extern struct ExecBase *SysBase;
  21.  
  22. #include <pragmas/exec_libcall_lib.h>
  23.  
  24. #include <clib/dos_protos.h>
  25. extern struct DosLibrary *DOSBase;
  26.  
  27. #include <pragmas/dos_lib.h>
  28. #pragma tagcall DOSBase FPrintf 162 32103
  29.  
  30. #include <clib/utility_protos.h>
  31. extern struct Library *UtilityBase;
  32.  
  33. #include <pragmas/utility_lib.h>
  34.  
  35. #include <libraries/OwnDevUnit.h>
  36.  
  37. #define USE_BUILTIN_MATH TRUE
  38. #include <stdio.h>
  39. #include <string.h>
  40. #include <stdlib.h>
  41. #include <stddef.h>
  42. #include <stdarg.h>
  43. #include <ctype.h>
  44. #include <math.h>
  45. #include <clib/alib_protos.h>
  46. #include <clib/pools_protos.h>
  47.  
  48. LONG __stdargs kprintf(STRPTR fmt,...);
  49.  
  50. typedef struct {
  51.     struct MinNode ph_Node;
  52.     struct SignalSemaphore ph_Sema;
  53.     struct List ph_LockList;
  54.     LONG ph_LogLevel;
  55.     LONG ph_LogRetries;
  56.     STRPTR ph_LogProgram;
  57.     STRPTR ph_LogService;
  58.     STRPTR ph_LogWho;
  59.     struct List ph_ConfigList;
  60.     struct MinList ph_ServiceList;
  61.     struct MinList ph_AliasList;
  62. } PagerHandle_t;
  63.  
  64. typedef struct {
  65.     STRPTR svc_Name;
  66.     STRPTR svc_Phone;
  67.     BOOL svc_Use8N1;
  68.     UBYTE svc_Password[16];
  69.     ULONG svc_BaudRate;
  70.     ULONG svc_MaxPageLen;
  71.     BOOL svc_MultiBlock;
  72. } PagerService_t;
  73.  
  74. typedef struct {
  75.     struct MinNode psvc_Node;
  76.     PagerHandle_t *psvc_Handle;
  77.     ULONG psvc_UseCount;
  78.     PagerService_t psvc_Service;
  79. } PrivatePagerService_t;
  80.  
  81. typedef struct {
  82.     STRPTR als_Name;
  83.     STRPTR als_Service;
  84.     STRPTR als_PIN;
  85.     ULONG als_MaxMessageLen;
  86.     ULONG als_MaxPageLen;    
  87. } PagerAlias_t;
  88.  
  89. typedef struct {
  90.     struct MinNode pals_Node;
  91.     PagerHandle_t *pals_Handle;
  92.     ULONG pals_UseCount;
  93.     PagerAlias_t pals_Alias;
  94. } PrivatePagerAlias_t;
  95.  
  96. typedef struct {
  97.     struct Node ce_Node;
  98.     PagerHandle_t *ce_Handle;
  99.     ULONG ce_UseCount;
  100.     UBYTE ce_Data[1];
  101. } ConfigEntry_t;
  102.  
  103. /* global variables */
  104.  
  105. extern struct SignalSemaphore HandleListSema;
  106. extern struct MinList HandleList;
  107.  
  108. extern struct SignalSemaphore poolSema;
  109. extern APTR pool;
  110.  
  111. /* function prototypes */
  112.  
  113. void ULog(PagerHandle_t *ph, LONG level, STRPTR fmt, ...);
  114.  
  115. BOOL __saveds __asm LockFile(register __a0 PagerHandle_t *ph, register __a1 STRPTR fileName);
  116. void __saveds __asm UnLockFile(register __a0 PagerHandle_t *ph, register __a1 STRPTR fileName);
  117. void __saveds __asm UnLockFiles(register __a0 PagerHandle_t *ph);
  118.  
  119. void __saveds __asm FreePagerService(register __a0 PagerService_t *svc);
  120.  
  121. void __saveds __asm FreePagerAlias(register __a0 PagerAlias_t *als);
  122.  
  123. STRPTR __saveds __asm FindPagerConfig(register __a0 PagerHandle_t *ph, register __a1 STRPTR configEntryName);
  124. STRPTR __saveds __asm FindPagerConfigDefault(register __a0 PagerHandle_t *ph, register __a1 STRPTR configEntryName, register __a2 STRPTR defValue);
  125. void __saveds __asm FreePagerConfig(register __a0 STRPTR configEntry);
  126. BOOL __saveds __asm PagerConfigYesNo(register __a0 STRPTR configEntry);
  127.  
  128. LONG __saveds __asm GetSequenceNumber(register __a0 PagerHandle_t *ph, register __d0 UWORD increment);
  129. STRPTR __saveds __asm SequenceToName(register __a0 STRPTR buffer, register __d0 LONG sequenceNumber);
  130.  
  131. STRPTR __saveds __asm NameInSpool(register __a0 PagerHandle_t *ph, register __a1 STRPTR name);
  132. void __saveds __asm FreeNameInSpool(register __a0 STRPTR name);
  133.