Annotation of sbbs/src/sbbs3/nodedefs.h, revision 1.1.1.2

1.1       root        1: /* nodedefs.h */
                      2: 
                      3: /* Synchronet node information structure and constant definitions */
                      4: 
1.1.1.2 ! root        5: /* $Id: nodedefs.h,v 1.17 2008/01/06 21:41:23 deuce Exp $ */
1.1       root        6: 
                      7: /****************************************************************************
                      8:  * @format.tab-size 4          (Plain Text/Source Code File Header)                    *
                      9:  * @format.use-tabs true       (see http://www.synchro.net/ptsc_hdr.html)              *
                     10:  *                                                                                                                                                     *
1.1.1.2 ! root       11:  * Copyright 2007 Rob Swindell - http://www.synchro.net/copyright.html         *
1.1       root       12:  *                                                                                                                                                     *
                     13:  * This program is free software; you can redistribute it and/or                       *
                     14:  * modify it under the terms of the GNU General Public License                         *
                     15:  * as published by the Free Software Foundation; either version 2                      *
                     16:  * of the License, or (at your option) any later version.                                      *
                     17:  * See the GNU General Public License for more details: gpl.txt or                     *
                     18:  * http://www.fsf.org/copyleft/gpl.html                                                                                *
                     19:  *                                                                                                                                                     *
                     20:  * Anonymous FTP access to the most recent released source is available at     *
                     21:  * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net     *
                     22:  *                                                                                                                                                     *
                     23:  * Anonymous CVS access to the development source and modification history     *
                     24:  * is available at cvs.synchro.net:/cvsroot/sbbs, example:                                     *
                     25:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs login                       *
                     26:  *     (just hit return, no password is necessary)                                                     *
                     27:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src                *
                     28:  *                                                                                                                                                     *
                     29:  * For Synchronet coding style and modification guidelines, see                                *
                     30:  * http://www.synchro.net/source.html                                                                          *
                     31:  *                                                                                                                                                     *
                     32:  * You are encouraged to submit any modifications (preferably in Unix diff     *
                     33:  * format) via e-mail to [email protected]                                                                      *
                     34:  *                                                                                                                                                     *
                     35:  * Note: If this box doesn't appear square, then you need to fix your tabs.    *
                     36:  ****************************************************************************/
                     37: 
                     38: /************************************************************/
                     39: /* Constants, macros, and typedefs for use ONLY with SBBS      */
                     40: /************************************************************/
                     41: 
                     42: #ifndef _NODEDEFS_H
                     43: #define _NODEDEFS_H
                     44: 
                     45: #include "smbdefs.h"   /* uchar, ushort, ulong and _PACK */
1.1.1.2 ! root       46: #include "limits.h"
1.1       root       47: 
                     48: enum {                              /* Node Status */
                     49:      NODE_WFC                       /* Waiting for Call */
                     50:     ,NODE_LOGON                     /* at logon prompt */
                     51:     ,NODE_NEWUSER                   /* New user applying */
                     52:     ,NODE_INUSE                     /* In Use */
                     53:     ,NODE_QUIET                     /* In Use - quiet mode */
                     54:     ,NODE_OFFLINE                   /* Offline */
                     55:     ,NODE_NETTING                   /* Networking */
                     56:     ,NODE_EVENT_WAITING             /* Waiting for all nodes to be inactive */
                     57:     ,NODE_EVENT_RUNNING             /* Running an external event */
                     58:     ,NODE_EVENT_LIMBO               /* Allowing another node to run an event */
                     59:     };
                     60: 
                     61: #define NODE_INVALID_STATUS    0xff    /* Invalid status value */
                     62: 
                     63:                                     /* Bit values for node.misc */
                     64: #define NODE_ANON   (1<<0)          /* Anonymous User */
                     65: #define NODE_LOCK   (1<<1)          /* Locked for sysops only */
                     66: #define NODE_INTR   (1<<2)          /* Interrupted - hang up */
                     67: #define NODE_MSGW   (1<<3)          /* Message is waiting (old way) */
                     68: #define NODE_POFF   (1<<4)          /* Page disabled */
                     69: #define NODE_AOFF   (1<<5)          /* Activity Alert disabled */
                     70: #define NODE_UDAT   (1<<6)          /* User data has been updated */
                     71: #define NODE_RRUN   (1<<7)          /* Re-run this node when log off */
                     72: #define NODE_EVENT  (1<<8)          /* Must run node event after log off */
                     73: #define NODE_DOWN   (1<<9)          /* Down this node after logoff */
                     74: #define NODE_RPCHT  (1<<10)         /* Reset private chat */
                     75: #define NODE_NMSG   (1<<11)         /* Node message waiting (new way) */
                     76: #define NODE_EXT    (1<<12)         /* Extended info on node action */
                     77: #define NODE_LCHAT     (1<<13)                 /* Being pulled into local chat */
                     78: 
                     79: enum {                              /* Node Action */
                     80:      NODE_MAIN                      /* Main Prompt */
                     81:     ,NODE_RMSG                      /* Reading Messages */
                     82:     ,NODE_RMAL                      /* Reading Mail */
                     83:     ,NODE_SMAL                      /* Sending Mail */
                     84:     ,NODE_RTXT                      /* Reading G-Files */
                     85:     ,NODE_RSML                      /* Reading Sent Mail */
                     86:     ,NODE_PMSG                      /* Posting Message */
                     87:     ,NODE_AMSG                      /* Auto-message */
                     88:     ,NODE_XTRN                      /* Running External Program */
                     89:     ,NODE_DFLT                      /* Main Defaults Section */
                     90:     ,NODE_XFER                      /* Transfer Prompt */
                     91:     ,NODE_DLNG                      /* Downloading File */
                     92:     ,NODE_ULNG                      /* Uploading File */
                     93:     ,NODE_BXFR                      /* Bidirectional Transfer */
                     94:     ,NODE_LFIL                      /* Listing Files */
                     95:     ,NODE_LOGN                      /* Logging on */
                     96:     ,NODE_LCHT                      /* In Local Chat with Sysop */
                     97:     ,NODE_MCHT                      /* In Multi-Chat with Other Nodes */
                     98:     ,NODE_GCHT                      /* In Local Chat with Guru */
                     99:     ,NODE_CHAT                      /* In Chat Section */
                    100:     ,NODE_SYSP                      /* Sysop Activity */
                    101:     ,NODE_TQWK                      /* Transferring QWK packet */
                    102:     ,NODE_PCHT                      /* In Private Chat */
                    103:     ,NODE_PAGE                      /* Paging another node for Private Chat */
                    104:     ,NODE_RFSD                      /* Retrieving file from seq dev (aux=dev)*/
                    105: 
                    106:        ,NODE_LAST_ACTION                               /* Must be last */
                    107:     };
                    108: 
                    109: #if defined(_WIN32) || defined(__BORLANDC__)   /* necessary for compatibility with SBBS v2 */
                    110:        #pragma pack(push,1)
                    111: #endif
                    112: 
                    113: #define SIZEOF_NODE_T 15                       /* Must == sizeof(node_t) */
                    114: 
                    115: typedef struct _PACK {                         /* Node information kept in node.dab */
                    116:     uchar   status,                 /* Current Status of Node */
                    117:             errors,                 /* Number of Critical Errors */
                    118:             action;                 /* Action User is doing on Node */
1.1.1.2 ! root      119:     uint16_t  useron,                 /* User on Node */
1.1       root      120:             connection,             /* Connection rate of Node */
1.1.1.2 ! root      121: #define NODE_CONNECTION_LOCAL          0
        !           122: #define NODE_CONNECTION_TELNET         USHRT_MAX       /* 0xffff */
        !           123: #define NODE_CONNECTION_RLOGIN         (USHRT_MAX-1)
        !           124: #define NODE_CONNECTION_SSH                    (USHRT_MAX-2)
1.1       root      125:             misc,                   /* Miscellaneous bits for node */
                    126:             aux;                    /* Auxillary word for node */
1.1.1.2 ! root      127:     uint32_t   extaux;                 /* Extended aux dword for node */
1.1       root      128:             } node_t;
                    129: 
                    130: #if defined(_WIN32) || defined(__BORLANDC__)
                    131: #pragma pack(pop)              /* original packing */
                    132: #endif
                    133: 
                    134: #endif /* Don't add anything after this line */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.