home *** CD-ROM | disk | FTP | other *** search
- /*
- UUCPBase.h
-
- EnthΣlt die Struktur fⁿr die uucp.library.
-
- Copyright (C) 1991 Ingo Feulner.
- -- All rights reserved --
- */
-
- #ifndef LIBRARIES_UUCPBASE_H
- #define LIBRARIES_UUCPBASE_H 1
-
- #ifndef EXEC_TYPES_H
- # include <exec/types.h>
- #endif
-
- #ifndef EXEC_LIBRARIES_H
- # include <exec/libraries.h>
- #endif
-
- #ifndef EXEC_LISTS_H
- # include <exec/lists.h>
- #endif
-
- #ifndef EXEC_SEMAPHORES_H
- # include <exec/semaphores.h>
- #endif
-
- #ifndef LIBRARIES_DOS_H
- # include <libraries/dos.h>
- #endif
-
-
- /* Wichtige eigene Strukturen */
-
- struct MyMemList
- {
- struct SignalSemaphore ml_Semaphore; // Semaphore
- struct MinList ml_List; // Liste
- };
-
- struct MyMemNode
- {
- struct Node mn_Node;
- struct Task *mn_Owner; // Addresse des Tasks, der das Mem belegt hat
- VOID *mn_Buf; // Buffer auf das belegte Mem
- ULONG mn_BufLength; // LΣnge des Mem
- };
-
-
-
- struct UUCPBase
- {
- struct Library LibNode;
- ULONG ub_SegList;
- /* -------------------------- */
-
- struct DosLibrary *ub_DOSBase; // DOS Library
-
- struct MyMemList ub_MemList; // Memory Liste
-
- UBYTE *Error; // EnthΣlt den Fehlerstring. Nur gⁿltig direkt nach
- // Aufruf einer Library Funktion!
-
- /* -------------------------- */
- /*
- Ab hier privat! Nicht auslesen, nicht verΣndern!
- Kann sich mit neueren Versionen Σndern!!!!
- */
- UBYTE *ConfigBuffer; // Zeiger auf den Inhalt von UULIB:config oder
- // S:UUConfig
- ULONG CB_Length; // LΣnge des Buffers
- ULONG TempCounter; // ZΣhler, der von versch. Funktionen hochgezΣhlt
- // wird. (z.B. um einzigartige Namen zu erhalten)
- };
-
-
- /*
- ▄bergabeparameter fⁿr FindConfig()
- */
-
- #define USERNAME "UserName"
- #define NODENAME "NodeName"
- #define REALNAME "RealName"
- #define DEBUGNAME "Debug"
- #define NEWSFEED "NewsFeed"
- #define ORGANIZATION "Organization"
- #define FILTER "Filter" /* can be run in the foregnd */
- #define RFILTER "RFilter" /* can be run in the background */
- #define EDITOR "MailEditor"
- #define NEWSEDITOR "NewsEditor"
- #define HOME "Home"
- #define DOMAINNAME "DomainName"
- #define MAILREADYCMD "MailReadyCmd"
- #define NEWSREADYCMD "NewsReadyCmd"
-
- #define UUSPOOL "UUSpool\0UUSPOOL:"
- #define UUNEWS "UUNews\0UUNEWS:"
- #define UUMAIL "UUMail\0UUMAIL:"
- #define UULIB "UULib\0UULIB:"
- #define UUPUB "UUPub\0UUPUB:"
- #define UUMAN "UUMan\0UUMAN:"
- #define SUUCP "UUCP\0UUCP:"
-
-
- #define AUUCP_ERROR_OK 0
- #define AUUCP_ERROR_COMPRESSED 10
- #define AUUCP_ERROR_NOTCOMPRESSED 15
- #define AUUCP_ERROR_OUTOFMEM 20
- #define AUUCP_ERROR_DISKFULL 30
-
-
- /* Prototypes */
- char *FindConfig(char *);
- char *GetConfig(char *, char *);
- char *GetConfigDir(char *);
- char *MakeConfigPath(char *, char *);
- void *UUAllocMem(long, long);
- void UUFreeMem(void *);
- void UUFreeAllMem(struct Task *);
- struct MsgPort *CreatePort(char *, long);
- void DeletePort(struct MsgPort *);
- struct tm *GetTime(void);
- char *TempFileName(void);
- void SPrintf(char *, char *, ...);
- void SPrintfA(char *, char *, char **);
-
- #endif LIBRARIES_UUCPBASE_H
-