home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / new / amigalibdisks / d992 / cyberpager / source / library / gstmaker.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-05  |  3.5 KB  |  132 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.     UBYTE svc_Password[16];
  68.     ULONG svc_BaudRate;
  69.     ULONG svc_MaxPageLen;
  70.     BOOL svc_MultiBlock;
  71. } PagerService_t;
  72.  
  73. typedef struct {
  74.     struct MinNode psvc_Node;
  75.     PagerHandle_t *psvc_Handle;
  76.     ULONG psvc_UseCount;
  77.     PagerService_t psvc_Service;
  78. } PrivatePagerService_t;
  79.  
  80. typedef struct {
  81.     STRPTR als_Name;
  82.     STRPTR als_Service;
  83.     STRPTR als_PIN;
  84.     ULONG als_MaxMessageLen;
  85.     ULONG als_MaxPageLen;    
  86. } PagerAlias_t;
  87.  
  88. typedef struct {
  89.     struct MinNode pals_Node;
  90.     PagerHandle_t *pals_Handle;
  91.     ULONG pals_UseCount;
  92.     PagerAlias_t pals_Alias;
  93. } PrivatePagerAlias_t;
  94.  
  95. typedef struct {
  96.     struct Node ce_Node;
  97.     PagerHandle_t *ce_Handle;
  98.     ULONG ce_UseCount;
  99.     UBYTE ce_Data[1];
  100. } ConfigEntry_t;
  101.  
  102. /* global variables */
  103.  
  104. extern struct SignalSemaphore HandleListSema;
  105. extern struct MinList HandleList;
  106.  
  107. extern struct SignalSemaphore poolSema;
  108. extern APTR pool;
  109.  
  110. /* function prototypes */
  111.  
  112. void ULog(PagerHandle_t *ph, LONG level, STRPTR fmt, ...);
  113.  
  114. BOOL __saveds __asm LockFile(register __a0 PagerHandle_t *ph, register __a1 STRPTR fileName);
  115. void __saveds __asm UnLockFile(register __a0 PagerHandle_t *ph, register __a1 STRPTR fileName);
  116. void __saveds __asm UnLockFiles(register __a0 PagerHandle_t *ph);
  117.  
  118. void __saveds __asm FreePagerService(register __a0 PagerService_t *svc);
  119.  
  120. void __saveds __asm FreePagerAlias(register __a0 PagerAlias_t *als);
  121.  
  122. STRPTR __saveds __asm FindPagerConfig(register __a0 PagerHandle_t *ph, register __a1 STRPTR configEntryName);
  123. STRPTR __saveds __asm FindPagerConfigDefault(register __a0 PagerHandle_t *ph, register __a1 STRPTR configEntryName, register __a2 STRPTR defValue);
  124. void __saveds __asm FreePagerConfig(register __a0 STRPTR configEntry);
  125. BOOL __saveds __asm PagerConfigYesNo(register __a0 STRPTR configEntry);
  126.  
  127. LONG __saveds __asm GetSequenceNumber(register __a0 PagerHandle_t *ph, register __d0 UWORD increment);
  128. STRPTR __saveds __asm SequenceToName(register __a0 STRPTR buffer, register __d0 LONG sequenceNumber);
  129.  
  130. STRPTR __saveds __asm NameInSpool(register __a0 PagerHandle_t *ph, register __a1 STRPTR name);
  131. void __saveds __asm FreeNameInSpool(register __a0 STRPTR name);
  132.