|
|
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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.