|
|
1.1 root 1: /* nodedefs.h */
2:
3: /* Synchronet node information structure and constant definitions */
4:
5: /* $Id: nodedefs.h,v 1.9 2000/11/09 03:47:32 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: /* Bit values for node.misc */
61: #define NODE_ANON (1<<0) /* Anonymous User */
62: #define NODE_LOCK (1<<1) /* Locked for sysops only */
63: #define NODE_INTR (1<<2) /* Interrupted - hang up */
64: #define NODE_MSGW (1<<3) /* Message is waiting (old way) */
65: #define NODE_POFF (1<<4) /* Page disabled */
66: #define NODE_AOFF (1<<5) /* Activity Alert disabled */
67: #define NODE_UDAT (1<<6) /* User data has been updated */
68: #define NODE_RRUN (1<<7) /* Re-run this node when log off */
69: #define NODE_EVENT (1<<8) /* Must run node event after log off */
70: #define NODE_DOWN (1<<9) /* Down this node after logoff */
71: #define NODE_RPCHT (1<<10) /* Reset private chat */
72: #define NODE_NMSG (1<<11) /* Node message waiting (new way) */
73: #define NODE_EXT (1<<12) /* Extended info on node action */
74: #define NODE_LCHAT (1<<13) /* Being pulled into local chat */
75:
76: enum { /* Node Action */
77: NODE_MAIN /* Main Prompt */
78: ,NODE_RMSG /* Reading Messages */
79: ,NODE_RMAL /* Reading Mail */
80: ,NODE_SMAL /* Sending Mail */
81: ,NODE_RTXT /* Reading G-Files */
82: ,NODE_RSML /* Reading Sent Mail */
83: ,NODE_PMSG /* Posting Message */
84: ,NODE_AMSG /* Auto-message */
85: ,NODE_XTRN /* Running External Program */
86: ,NODE_DFLT /* Main Defaults Section */
87: ,NODE_XFER /* Transfer Prompt */
88: ,NODE_DLNG /* Downloading File */
89: ,NODE_ULNG /* Uploading File */
90: ,NODE_BXFR /* Bidirectional Transfer */
91: ,NODE_LFIL /* Listing Files */
92: ,NODE_LOGN /* Logging on */
93: ,NODE_LCHT /* In Local Chat with Sysop */
94: ,NODE_MCHT /* In Multi-Chat with Other Nodes */
95: ,NODE_GCHT /* In Local Chat with Guru */
96: ,NODE_CHAT /* In Chat Section */
97: ,NODE_SYSP /* Sysop Activity */
98: ,NODE_TQWK /* Transferring QWK packet */
99: ,NODE_PCHT /* In Private Chat */
100: ,NODE_PAGE /* Paging another node for Private Chat */
101: ,NODE_RFSD /* Retrieving file from seq dev (aux=dev)*/
102:
103: ,NODE_LAST_ACTION /* Must be last */
104: };
105:
106: #ifdef _WIN32 /* necessary for compatibility with SBBS v2 */
107: #pragma pack(push)
108: #pragma pack(1)
109: #endif
110:
111: #define SIZEOF_NODE_T 15 /* Must == sizeof(node_t) */
112:
113: typedef struct _PACK { /* Node information kept in node.dab */
114: uchar status, /* Current Status of Node */
115: errors, /* Number of Critical Errors */
116: action; /* Action User is doing on Node */
117: ushort useron, /* User on Node */
118: connection, /* Connection rate of Node */
119: misc, /* Miscellaneous bits for node */
120: aux; /* Auxillary word for node */
121: ulong extaux; /* Extended aux dword for node */
122: } node_t;
123:
124: #ifdef _WIN32
125: #pragma pack(pop) /* original packing */
126: #endif
127:
128: #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.