home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / auucp+-1.02 / fuucp_plus_src.lzh / uucplib / uucpbase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-07  |  3.2 KB  |  129 lines

  1. /*
  2.    UUCPBase.h
  3.  
  4.    EnthΣlt die Struktur fⁿr die uucp.library.
  5.  
  6.    Copyright (C) 1991 Ingo Feulner.
  7.    -- All rights reserved --
  8. */
  9.  
  10. #ifndef LIBRARIES_UUCPBASE_H
  11. #define LIBRARIES_UUCPBASE_H 1
  12.  
  13. #ifndef EXEC_TYPES_H
  14. #  include <exec/types.h>
  15. #endif
  16.  
  17. #ifndef EXEC_LIBRARIES_H
  18. #  include <exec/libraries.h>
  19. #endif
  20.  
  21. #ifndef EXEC_LISTS_H
  22. #  include <exec/lists.h>
  23. #endif
  24.  
  25. #ifndef EXEC_SEMAPHORES_H
  26. #  include <exec/semaphores.h>
  27. #endif
  28.  
  29. #ifndef LIBRARIES_DOS_H
  30. #  include <libraries/dos.h>
  31. #endif 
  32.  
  33.  
  34. /* Wichtige eigene Strukturen */
  35.  
  36. struct MyMemList
  37. {
  38.   struct SignalSemaphore ml_Semaphore; // Semaphore
  39.   struct MinList         ml_List;      // Liste
  40. };
  41.  
  42. struct MyMemNode
  43. {
  44.   struct Node            mn_Node;
  45.   struct Task           *mn_Owner;     // Addresse des Tasks, der das Mem belegt hat
  46.   VOID                  *mn_Buf;       // Buffer auf das belegte Mem
  47.   ULONG                  mn_BufLength; // LΣnge des Mem
  48. };
  49.  
  50.  
  51.  
  52. struct UUCPBase
  53. {
  54.   struct Library LibNode;
  55.   ULONG          ub_SegList;
  56.   /* -------------------------- */
  57.  
  58.   struct DosLibrary *ub_DOSBase;  // DOS  Library
  59.  
  60.   struct MyMemList   ub_MemList;  // Memory Liste
  61.  
  62.   UBYTE         *Error;          // EnthΣlt den Fehlerstring. Nur gⁿltig direkt nach
  63.                                  // Aufruf einer Library Funktion!
  64.  
  65.   /* -------------------------- */
  66.   /*
  67.      Ab hier privat! Nicht auslesen, nicht verΣndern!
  68.      Kann sich mit neueren Versionen Σndern!!!!
  69.   */
  70.   UBYTE         *ConfigBuffer;   // Zeiger auf den Inhalt von UULIB:config oder
  71.                                  // S:UUConfig
  72.   ULONG         CB_Length;       // LΣnge des Buffers
  73.   ULONG         TempCounter;     // ZΣhler, der von versch. Funktionen hochgezΣhlt
  74.                                  // wird. (z.B. um einzigartige Namen zu erhalten)
  75. };
  76.  
  77.  
  78. /*
  79.    ▄bergabeparameter fⁿr FindConfig()
  80. */
  81.  
  82. #define USERNAME      "UserName"
  83. #define NODENAME      "NodeName"
  84. #define REALNAME      "RealName"
  85. #define DEBUGNAME     "Debug"
  86. #define NEWSFEED      "NewsFeed"
  87. #define ORGANIZATION  "Organization"
  88. #define FILTER        "Filter"        /*  can be run in the foregnd    */
  89. #define RFILTER       "RFilter"       /*  can be run in the background */
  90. #define EDITOR        "MailEditor"
  91. #define NEWSEDITOR    "NewsEditor"
  92. #define HOME          "Home"
  93. #define DOMAINNAME    "DomainName"
  94. #define MAILREADYCMD  "MailReadyCmd"
  95. #define NEWSREADYCMD  "NewsReadyCmd"
  96.  
  97. #define UUSPOOL       "UUSpool\0UUSPOOL:"
  98. #define UUNEWS        "UUNews\0UUNEWS:"
  99. #define UUMAIL        "UUMail\0UUMAIL:"
  100. #define UULIB         "UULib\0UULIB:"
  101. #define UUPUB         "UUPub\0UUPUB:"
  102. #define UUMAN         "UUMan\0UUMAN:"
  103. #define SUUCP         "UUCP\0UUCP:"
  104.  
  105.  
  106. #define AUUCP_ERROR_OK             0
  107. #define AUUCP_ERROR_COMPRESSED    10
  108. #define AUUCP_ERROR_NOTCOMPRESSED 15
  109. #define AUUCP_ERROR_OUTOFMEM      20
  110. #define AUUCP_ERROR_DISKFULL      30
  111.  
  112.  
  113. /* Prototypes */
  114. char *FindConfig(char *);
  115. char *GetConfig(char *, char *);
  116. char *GetConfigDir(char *);
  117. char *MakeConfigPath(char *, char *);
  118. void *UUAllocMem(long, long);
  119. void UUFreeMem(void *);
  120. void UUFreeAllMem(struct Task *);
  121. struct MsgPort *CreatePort(char *, long);
  122. void DeletePort(struct MsgPort *);
  123. struct tm *GetTime(void);
  124. char *TempFileName(void);
  125. void SPrintf(char *, char *, ...);
  126. void SPrintfA(char *, char *, char **);
  127.  
  128. #endif LIBRARIES_UUCPBASE_H
  129.