#ifndef LIBRARIES_NETSUPPORT_H
#define LIBRARIES_NETSUPPORT_H

/*
 *      $Filename: netsupport.h $
 *      $Version: 1.25 $
 *      $Date: 1994/03/12 $
 *      $Author: simons $
 *
 *      C include file for the NetSupport.Library
 */


/*************************************** Macros ***********/
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EXEC_LIBRARIES_H
#include <exec/libraries.h>
#endif
#ifndef UTILITY_UTILITY_H
#include <utility/utility.h>
#endif
#ifndef DOS_DOSEXTENS_H
#include <dos/dosextens.h>
#endif

/*************************************** LibraryName ******/
#define NETSUPPORTNAME "netsupport.library"

/*************************************** LibraryBase ******/
struct NetSupportLibrary {
        struct  Library nsp_LibNode;
        struct  DosLibrary *nsp_DOSBase;
        VOID *  nsp_SegList;
        struct SignalSemaphore *nsp_StaticBufferSemaphore;
        struct List *nsp_StaticBufferList;
        struct UtilityBase *nsp_UtilityBase;
        ULONG   nsp_UniqueNumber;
        struct SignalSemaphore *nsp_AnyMemPoolSemaphore;
        VOID *  nsp_AnyMemPool;
        STRPTR  nsp_obselete;
        struct MinList nsp_ResModules;
        struct SignalSemaphore *nsp_ResidentListSemaphore;
        struct MinList nsp_MsgPortList;
        struct SignalSemaphore *nsp_MsgPortListSemaphore;
};

/*************************************** GetConfig ********/

 /*
  * Here's a bunch of defines for common keywords used in the UUCP
  * main config file. All these keywords have an equivalent of the same
  * name as local/global variable and you should support them!
  */

#define USERNAME        "UserName"
#define NODENAME        "NodeName"
#define REALNAME        "RealName"
#define DEBUGNAME       "Debug"
#define NEWSFEED        "NewsFeed"
#define ORGANIZATION    "Organization"
#define FILTER          "Filter"
#define RFILTER         "RFilter"
#define EDITOR          "MailEditor"
#define NEWSEDITOR      "NewsEditor"
#define DOMAINNAME      "DomainName"
#define TIMEZONE        "TimeZone"
#define DEFAULTNODE     "DefaultNode"
#define MAILREADYCMD    "MailReadyCmd"
#define NEWSREADYCMD    "NewsReadyCmd"
#define AUTOBATCH       "AutoBatch"
#define MAXRMAILLEN     "MaxRMailLen"
#define BATCHBITS       "BatchBits"
#define MAILBOUNCE      "MailBounce"
#define DOMAINPATH      "DomainPath"
#define SPOOLSIZE       "SpoolSize"
#define MUNGECASE       "MungeCase"
#define JUNKSAVE        "JunkSave"


 /*
  * The following keywords are paths and names of executables. The
  * default value is always the name of the keyword, eg. "Sendmail".
  */

#define BATCHNEWS       "BatchNews"
#define UUX             "Uux"
#define SENDMAIL        "Sendmail"
#define POSTNEWS        "Postnews"
#define UUXQT           "Uuxqt"
#define RMAIL           "RMail"
#define CUNBATCH        "CUnbatch"
#define RNEWS           "RNews"
#define FRNEWS          "FRNews"
#define RSMTP           "RSMTP"
#define RCSMTP          "RCSMTP"


 /*
  * The following keywords are directory paths. The common default
  * value is specified as comment behing the keyword.
  */

#define UUSPOOL         "UUSpool"       /* "UUSPOOL:"    */
#define UUNEWS          "UUNews"        /* "UUNEWS:"     */
#define UUMAIL          "UUMail"        /* "UUMAIL:"     */
#define UULIB           "UULib"         /* "UULIB:"      */
#define UUPUB           "UUPub"         /* "UUPUB:"      */
#define UUMAN           "UUMan"         /* "UUMAN:"      */
#define SUUCP           "UUCP"          /* "UUCP:"       */
#define UUALTSPOOL      "UUAltSpool"    /* "UUALTSPOOL:" */
#define LOCKDIR         "LockDir"       /* "T:"          */


/*************************************** POpen ************/
#define MODE_PIPETO     0x00000000
#define MODE_PIPEFROM   0x00000001

/*************************************** MakeLogEntry *****/
#define MLE_DEFAULT      0L
#define MLE_INFO         5L
#define MLE_DEBUG1      11L
#define MLE_DEBUG2      12L
#define MLE_DEBUG3      13L
#define MLE_DEBUG4      14L
#define MLE_DEBUG5      15L
#define MLE_DEBUG6      16L
#define MLE_DEBUG7      17L
#define MLE_DEBUG8      18L
#define MLE_DEBUG9      19L
#define MLE_ERROR       50L
#define MLE_FATAL_ERROR -1L


#endif  /* LIBRARIES_NETSUPPORT_H */
