|
|
1.1 root 1: /* nodedefs.h */
2:
3: /* Synchronet node information structure and constant definitions */
4:
5: /* $Id: nodedefs.h,v 1.13 2003/10/10 00:16:22 rswindell Exp $ */
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: * *
11: * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html *
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 */
46:
47: enum { /* Node Status */
48: NODE_WFC /* Waiting for Call */
49: ,NODE_LOGON /* at logon prompt */
50: ,NODE_NEWUSER /* New user applying */
51: ,NODE_INUSE /* In Use */
52: ,NODE_QUIET /* In Use - quiet mode */
53: ,NODE_OFFLINE /* Offline */
54: ,NODE_NETTING /* Networking */
55: ,NODE_EVENT_WAITING /* Waiting for all nodes to be inactive */
56: ,NODE_EVENT_RUNNING /* Running an external event */
57: ,NODE_EVENT_LIMBO /* Allowing another node to run an event */
58: };
59:
60: #define NODE_INVALID_STATUS 0xff /* Invalid status value */
61:
62: /* Bit values for node.misc */
63: #define NODE_ANON (1<<0) /* Anonymous User */
64: #define NODE_LOCK (1<<1) /* Locked for sysops only */
65: #define NODE_INTR (1<<2) /* Interrupted - hang up */
66: #define NODE_MSGW (1<<3) /* Message is waiting (old way) */
67: #define NODE_POFF (1<<4) /* Page disabled */
68: #define NODE_AOFF (1<<5) /* Activity Alert disabled */
69: #define NODE_UDAT (1<<6) /* User data has been updated */
70: #define NODE_RRUN (1<<7) /* Re-run this node when log off */
71: #define NODE_EVENT (1<<8) /* Must run node event after log off */
72: #define NODE_DOWN (1<<9) /* Down this node after logoff */
73: #define NODE_RPCHT (1<<10) /* Reset private chat */
74: #define NODE_NMSG (1<<11) /* Node message waiting (new way) */
75: #define NODE_EXT (1<<12) /* Extended info on node action */
76: #define NODE_LCHAT (1<<13) /* Being pulled into local chat */
77:
78: enum { /* Node Action */
79: NODE_MAIN /* Main Prompt */
80: ,NODE_RMSG /* Reading Messages */
81: ,NODE_RMAL /* Reading Mail */
82: ,NODE_SMAL /* Sending Mail */
83: ,NODE_RTXT /* Reading G-Files */
84: ,NODE_RSML /* Reading Sent Mail */
85: ,NODE_PMSG /* Posting Message */
86: ,NODE_AMSG /* Auto-message */
87: ,NODE_XTRN /* Running External Program */
88: ,NODE_DFLT /* Main Defaults Section */
89: ,NODE_XFER /* Transfer Prompt */
90: ,NODE_DLNG /* Downloading File */
91: ,NODE_ULNG /* Uploading File */
92: ,NODE_BXFR /* Bidirectional Transfer */
93: ,NODE_LFIL /* Listing Files */
94: ,NODE_LOGN /* Logging on */
95: ,NODE_LCHT /* In Local Chat with Sysop */
96: ,NODE_MCHT /* In Multi-Chat with Other Nodes */
97: ,NODE_GCHT /* In Local Chat with Guru */
98: ,NODE_CHAT /* In Chat Section */
99: ,NODE_SYSP /* Sysop Activity */
100: ,NODE_TQWK /* Transferring QWK packet */
101: ,NODE_PCHT /* In Private Chat */
102: ,NODE_PAGE /* Paging another node for Private Chat */
103: ,NODE_RFSD /* Retrieving file from seq dev (aux=dev)*/
104:
105: ,NODE_LAST_ACTION /* Must be last */
106: };
107:
108: #if defined(_WIN32) || defined(__BORLANDC__) /* necessary for compatibility with SBBS v2 */
109: #pragma pack(push,1)
110: #endif
111:
112: #define SIZEOF_NODE_T 15 /* Must == sizeof(node_t) */
113:
114: typedef struct _PACK { /* Node information kept in node.dab */
115: uchar status, /* Current Status of Node */
116: errors, /* Number of Critical Errors */
117: action; /* Action User is doing on Node */
118: ushort useron, /* User on Node */
119: connection, /* Connection rate of Node */
120: misc, /* Miscellaneous bits for node */
121: aux; /* Auxillary word for node */
122: ulong extaux; /* Extended aux dword for node */
123: } node_t;
124:
125: #if defined(_WIN32) || defined(__BORLANDC__)
126: #pragma pack(pop) /* original packing */
127: #endif
128:
129: #endif /* Don't add anything after this line */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.