home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / h / qmgr-int.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  3.5 KB  |  189 lines

  1. /* qmgr-int.h: interface to qmgr for consoles */
  2.  
  3. /*
  4.  * @(#) $Header: /xtel/pp/pp-beta/h/RCS/qmgr-int.h,v 6.0 1991/12/18 20:42:44 jpo Rel $
  5.  *
  6.  * $Log: qmgr-int.h,v $
  7.  * Revision 6.0  1991/12/18  20:42:44  jpo
  8.  * Release 6.0
  9.  *
  10.  *
  11.  */
  12.  
  13. typedef struct bindResult {
  14.     int    access;
  15. #define    FULL_ACCESS    1
  16. #define LIMITED_ACCESS    2
  17.  
  18.     char    *info;
  19.     char    *version;
  20. } BindResult;
  21. void free_BindResult ();
  22.  
  23. typedef struct qmgrStatus {
  24.     time_t    boottime;
  25.     int    messagesIn;
  26.     int    messagesOut;
  27.     int    addrIn;
  28.     int    addrOut;
  29.     int    opsPerSec;
  30.     int    runnableChans;
  31.     int    msgsInPerSec;
  32.     int    msgsOutPerSec;
  33.     int    maxChans;
  34.     int    currChans;
  35.     int    totalMsgs;
  36.     int    totalVolume;
  37.     int    totalDRs;
  38. } QmgrStatus;
  39.  
  40. #define free_QmgrStatus(x)    free((char *)x)
  41.  
  42. typedef    struct procStatus {
  43.     char    enabled;    /* boolean TRUE or FALSE */
  44.     time_t    lastAttempt,
  45.         cachedUntil,
  46.         lastSuccess;
  47. } ProcStatus;
  48.  
  49. extern ProcStatus *convert_ProcStatus();
  50. #define free_ProcStatus(x)    free((char *)x)
  51.  
  52. typedef struct channelinfo_struct {
  53.     struct channelinfo_struct    *next;
  54.  
  55.     int            priority;
  56.  
  57.     char            *channelname,
  58.                 *channeldescrip;
  59.     time_t            oldestMessage;
  60.     int            numberMessages;
  61.     int            volumeMessages;
  62.     int            numberActiveProcesses;
  63.     ProcStatus        *status;
  64.     int            numberReports;
  65.  
  66.     int            inbound;
  67.     int            outbound;
  68.  
  69.     int            chantype;
  70.  
  71.     int            maxprocs;
  72.     int            numberMtas;
  73. } ChannelInfo;
  74.  
  75. typedef struct mtainfo_struct {
  76.     struct mtainfo_struct    *next;
  77.     
  78.     int            priority;
  79.  
  80.     char            *channel;
  81.     char            *mta;
  82.     time_t            oldestMessage;
  83.     int            numberMessages;
  84.     int            volumeMessages;
  85.     ProcStatus        *status;
  86.     int            numberReports;
  87.     int            active;
  88.     char            *info;
  89. } MtaInfo;
  90.  
  91. typedef struct strlist_struct {
  92.     struct strlist_struct     *next;
  93.  
  94.     char            *str;
  95. } Strlist;
  96.     
  97.  
  98. typedef struct recipinfo_struct {
  99.     struct recipinfo_struct    *next;
  100.  
  101.     char            *user;
  102.     int            id;
  103.     char            *mta;
  104.     Strlist            *channels;
  105.     int            channelsDone;
  106.     ProcStatus        *status;
  107.     char            *info;
  108. } RecipInfo;
  109.  
  110. typedef struct permsginfo_struct {
  111.     char    *qid;
  112.     
  113.     /* mpduid */
  114.     char    *country;
  115.     char    *admd;
  116.     char    *prmd;
  117.     char    *local;
  118.  
  119.     char    *originator;
  120.     char    *contenttype;
  121.     Strlist    *eits;
  122.     int    priority;
  123.     int    size;
  124.     time_t    age;
  125.     int    warnInterval;
  126.     int    numberWarningsSent;
  127.     time_t     expiryTime;
  128.     time_t    deferredTime;
  129.     char    *uaContentId;
  130.     int    errorCount;
  131.     char    *inChannel;
  132. } PerMessageInfo;
  133.  
  134. typedef struct msginfo_struct {
  135.     struct msginfo_struct    *next;
  136.  
  137.     PerMessageInfo        *permsginfo;
  138.     
  139.     RecipInfo        *recips;
  140. } MsgInfo;
  141.  
  142. typedef struct msglist_struct {
  143.     MsgInfo        *msgs;
  144.     Strlist        *deleted;
  145. } MsgList;
  146.  
  147.  
  148. typedef struct measureInfo {
  149.     struct measureInfo *next;
  150.  
  151.     char    *key;
  152.     double    ub_number, 
  153.         ub_volume,
  154.         ub_age,
  155.         ub_last;
  156. } MeasureInfo;
  157.  
  158. #define    CTRL_ENABLE    "enable"
  159. #define CTRL_DISABLE    "disable"
  160. #define CTRL_CACHECLEAR    "cacheclear"
  161. #define CTRL_CACHEADD    "cacheadd"
  162.     
  163. #define QCTRL_ABORT    "abort"
  164. #define QCTRL_GRACEFUL    "graceful"
  165. #define QCTRL_RESTART    "restart"
  166. #define QCTRL_REREAD    "reread"
  167. #define QCTRL_DISSUB    "disablesubmission"
  168. #define QCTRL_ENASUB    "enablesubmission"
  169. #define QCTRL_DISALL    "disableall"
  170. #define QCTRL_ENAALL    "anableall"
  171. #define QCTRL_INCMAX    "increasemax"
  172. #define QCTRL_DECMAX    "decreasemax"
  173.  
  174. #define    QFILTER_CONTENT        "contenttype"
  175. #define    QFILTER_EIT        "eits"
  176. #define    QFILTER_PRIO        "priority"
  177. #define    QFILTER_MORERECENT    "morerecentthan"
  178. #define    QFILTER_EARLIER        "earlierthan"
  179. #define    QFILTER_MAXSIZE        "maxsize"
  180. #define    QFILTER_ORIG        "originator"
  181. #define    QFILTER_RECIP        "recipient"
  182. #define    QFILTER_CHANNEL        "channel"
  183. #define    QFILTER_MTA        "mta"
  184. #define    QFILTER_QUEUEID        "queueid"
  185. #define    QFILTER_MPDU        "mpduidentifier"
  186. #define    QFILTER_UA        "uacontentid"
  187.  
  188. extern time_t convert_time ();
  189.