#include "copyright.h"#include <sys/types.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>Include dependency graph for interface.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | cmd_block_hdr |
| struct | cmd_block |
| struct | text_block_hdr |
| struct | text_block |
| struct | prog_data |
| struct | descriptor_data |
Defines | |
| #define | R_QUIT 1 |
| #define | R_TIMEOUT 2 |
| #define | R_BOOT 3 |
| #define | R_SOCKDIED 4 |
| #define | R_GOING_DOWN 5 |
| #define | R_BADLOGIN 6 |
| #define | R_GAMEDOWN 7 |
| #define | R_LOGOUT 8 |
| #define | R_GAMEFULL 9 |
| #define | CMD_QUIT 1 |
| #define | CMD_WHO 2 |
| #define | CMD_DOING 3 |
| #define | CMD_PREFIX 5 |
| #define | CMD_SUFFIX 6 |
| #define | CMD_LOGOUT 7 |
| #define | CMD_SESSION 8 |
| #define | CMD_PUEBLOCLIENT 9 |
| #define | CMD_INFO 10 |
| #define | CMD_MASK 0xff |
| #define | CMD_NOxFIX 0x100 |
| #define | NVT_IS_NORMAL 0 |
| #define | NVT_IS_HAVE_IAC 1 |
| #define | NVT_IS_HAVE_IAC_WILL 2 |
| #define | NVT_IS_HAVE_IAC_WONT 3 |
| #define | NVT_IS_HAVE_IAC_DO 4 |
| #define | NVT_IS_HAVE_IAC_DONT 5 |
| #define | NVT_IS_HAVE_IAC_SB 6 |
| #define | NVT_IS_HAVE_IAC_SB_IAC 7 |
| #define | NVT_BS '\x08' |
| #define | NVT_DEL '\x7F' |
| #define | NVT_EOR '\xEF' |
| #define | NVT_NOP '\xF1' |
| #define | NVT_GA '\xF9' |
| #define | NVT_WILL '\xFB' |
| #define | NVT_WONT '\xFC' |
| #define | NVT_DO '\xFD' |
| #define | NVT_DONT '\xFE' |
| #define | NVT_IAC '\xFF' |
| #define | TELNET_SGA '\x03' |
| #define | TELNET_EOR '\x19' |
| #define | TELNET_NAWS '\x1F' |
| #define | OPTION_NO 0 |
| #define | OPTION_YES 1 |
| #define | OPTION_WANTNO_EMPTY 2 |
| #define | OPTION_WANTNO_OPPOSITE 3 |
| #define | OPTION_WANTYES_EMPTY 4 |
| #define | OPTION_WANTYES_OPPOSITE 5 |
| #define | DS_CONNECTED 0x0001 |
| #define | DS_AUTODARK 0x0002 |
| #define | DS_PUEBLOCLIENT 0x0004 |
| #define | alloc_desc(s) (DESC *)pool_alloc(POOL_DESC,s, __FILE__, __LINE__) |
| #define | free_desc(b) pool_free(POOL_DESC,(char *)(b), __FILE__, __LINE__) |
| #define | DESC_ITER_PLAYER(p, d) for (d=(DESC *)hashfindLEN(&(p), sizeof(p), &mudstate.desc_htab); d; d = d->hashnext) |
| #define | DESC_ITER_CONN(d) |
| #define | DESC_ITER_ALL(d) for (d=descriptor_list;(d);d=(d)->next) |
| #define | DESC_SAFEITER_PLAYER(p, d, n) |
| #define | DESC_SAFEITER_ALL(d, n) |
Typedefs | |
| typedef cmd_block | CBLK |
| typedef cmd_block_hdr | CBLKHDR |
| typedef cmd_block | CBLK |
| typedef text_block | TBLOCK |
| typedef text_block_hdr | TBLOCKHDR |
| typedef text_block | TBLOCK |
| typedef prog_data | PROG |
| typedef descriptor_data | DESC |
Functions | |
| int | HimState (DESC *d, unsigned char chOption) |
| Return the other side's negotiation state. | |
| int | UsState (DESC *d, unsigned char chOption) |
| Return our side's negotiation state. | |
| void | EnableHim (DESC *d, unsigned char chOption) |
| Start the process of negotiating the enablement of an option on his side. | |
| void | DisableHim (DESC *d, unsigned char chOption) |
| Start the process of negotiating the disablement of an option on his side. | |
| void | EnableUs (DESC *d, unsigned char chOption) |
| Start the process of negotiating the enablement of an option on our side. | |
| void | DisableUs (DESC *d, unsigned char chOption) |
| Start the process of negotiating the disablement of an option on our side. | |
| void | emergency_shutdown (void) |
| void | shutdownsock (DESC *, int) |
| void | SetupPorts (int *pnPorts, PortInfo aPorts[], IntArray *pia) |
| void | shovechars (int nPorts, PortInfo aPorts[]) |
| void | process_output (void *, int) |
| void | dump_restart_db (void) |
| void | BuildSignalNamesTable (void) |
| void | set_signals (void) |
| void | make_ulist (dbref, char *, char **, bool) |
| void | make_port_ulist (dbref, char *, char **) |
| int | fetch_session (dbref target) |
| int | fetch_idle (dbref target) |
| int | fetch_connect (dbref target) |
| int | fetch_height (dbref target) |
| int | fetch_width (dbref target) |
| const char * | time_format_1 (int Seconds, size_t maxWidth) |
| const char * | time_format_2 (int Seconds) |
| void | update_quotas (CLinearTimeAbsolute &tLast, const CLinearTimeAbsolute &tCurrent) |
| void | raw_notify (dbref, const char *) |
| void | raw_notify_newline (dbref) |
| void | clearstrings (DESC *) |
| void | queue_write_LEN (DESC *, const char *, int) |
| void | queue_write (DESC *, const char *) |
| void | queue_string (DESC *, const char *) |
| void | freeqs (DESC *) |
| void | welcome_user (DESC *) |
| void | save_command (DESC *, CBLK *) |
| void | announce_disconnect (dbref, DESC *, const char *) |
| int | boot_by_port (SOCKET port, bool bGod, const char *message) |
| void | find_oldest (dbref target, DESC *dOldest[2]) |
| void | check_idle (void) |
| void | Task_ProcessCommand (void *arg_voidptr, int arg_iInteger) |
| int | site_check (struct in_addr, SITE *) |
| dbref | find_connected_name (dbref, char *) |
| void | do_command (DESC *, char *) |
| void | desc_addhash (DESC *) |
| void | handle_prog (DESC *d, char *message) |
| void | record_login (dbref, bool, char *, char *, char *, char *) |
| dbref | connect_player (char *, char *, char *, char *, char *) |
Variables | |
| NAMETAB | logout_cmdtable [] |
| DESC * | descriptor_list |
| #define alloc_desc | ( | s | ) | (DESC *)pool_alloc(POOL_DESC,s, __FILE__, __LINE__) |
| #define CMD_DOING 3 |
| #define CMD_INFO 10 |
| #define CMD_LOGOUT 7 |
Definition at line 43 of file interface.h.
| #define CMD_MASK 0xff |
| #define CMD_NOxFIX 0x100 |
| #define CMD_PREFIX 5 |
| #define CMD_PUEBLOCLIENT 9 |
Definition at line 45 of file interface.h.
| #define CMD_QUIT 1 |
Definition at line 38 of file interface.h.
Referenced by do_command(), and do_logged_out_internal().
| #define CMD_SESSION 8 |
| #define CMD_SUFFIX 6 |
| #define CMD_WHO 2 |
Definition at line 39 of file interface.h.
Referenced by do_logged_out_internal(), and dump_users().
| #define DESC_ITER_ALL | ( | d | ) | for (d=descriptor_list;(d);d=(d)->next) |
Definition at line 272 of file interface.h.
Referenced by dump_restart_db(), dump_users(), shovechars(), and update_quotas().
| #define DESC_ITER_CONN | ( | d | ) |
Value:
for (d=descriptor_list;(d);d=(d)->next) \ if ((d)->flags & DS_CONNECTED)
Definition at line 269 of file interface.h.
Referenced by announce_connect(), check_connect(), dump_info(), find_connected_name(), FUNCTION(), load_restart_db(), make_port_ulist(), make_portlist(), make_ulist(), raw_broadcast(), SiteMonSend(), and wall_broadcast().
| #define DESC_ITER_PLAYER | ( | p, | |||
| d | ) | for (d=(DESC *)hashfindLEN(&(p), sizeof(p), &mudstate.desc_htab); d; d = d->hashnext) |
Definition at line 267 of file interface.h.
Referenced by announce_connect(), announce_disconnect(), check_connect(), check_idle(), desc_reload(), do_doing(), do_prog(), do_quitprog(), fcache_send(), fetch_cmds(), fetch_session(), find_least_idle(), find_oldest(), handle_prog(), logged_out1(), raw_notify(), raw_notify_html(), raw_notify_newline(), shovechars(), and shutdownsock().
| #define DESC_SAFEITER_ALL | ( | d, | |||
| n | ) |
Value:
for (d=descriptor_list,n=((d!=NULL) ? d->next : NULL); \ d; \ d=n,n=((n!=NULL) ? n->next : NULL))
Definition at line 280 of file interface.h.
Referenced by boot_by_port(), check_idle(), close_sockets(), and shovechars().
| #define DESC_SAFEITER_PLAYER | ( | p, | |||
| d, | |||||
| n | ) |
Value:
for (d=(DESC *)hashfindLEN(&(p), sizeof(p), &mudstate.desc_htab), \ n=((d!=NULL) ? d->hashnext : NULL); \ d; \ d=n,n=((n!=NULL) ? n->hashnext : NULL))
Definition at line 275 of file interface.h.
Referenced by boot_off().
| #define DS_AUTODARK 0x0002 |
Definition at line 200 of file interface.h.
Referenced by announce_disconnect(), check_idle(), dump_users(), and shovechars().
| #define DS_CONNECTED 0x0001 |
Definition at line 199 of file interface.h.
Referenced by boot_by_port(), check_connect(), check_idle(), do_command(), dump_info(), dump_users(), queue_string(), queue_write_LEN(), and shutdownsock().
| #define DS_PUEBLOCLIENT 0x0004 |
Definition at line 201 of file interface.h.
Referenced by announce_connect(), do_logged_out_internal(), and dump_users().
| #define free_desc | ( | b | ) | pool_free(POOL_DESC,(char *)(b), __FILE__, __LINE__) |
Definition at line 259 of file interface.h.
| #define NVT_BS '\x08' |
Definition at line 99 of file interface.h.
| #define NVT_DEL '\x7F' |
| #define NVT_DO '\xFD' |
| #define NVT_DONT '\xFE' |
| #define NVT_EOR '\xEF' |
| #define NVT_GA '\xF9' |
| #define NVT_IAC '\xFF' |
Definition at line 108 of file interface.h.
Referenced by check_idle(), do_prog(), encode_iac(), handle_prog(), SendDo(), SendDont(), SendWill(), and SendWont().
| #define NVT_IS_HAVE_IAC 1 |
| #define NVT_IS_HAVE_IAC_DO 4 |
| #define NVT_IS_HAVE_IAC_DONT 5 |
| #define NVT_IS_HAVE_IAC_SB 6 |
| #define NVT_IS_HAVE_IAC_SB_IAC 7 |
| #define NVT_IS_HAVE_IAC_WILL 2 |
| #define NVT_IS_HAVE_IAC_WONT 3 |
| #define NVT_IS_NORMAL 0 |
Definition at line 88 of file interface.h.
Referenced by freeqs(), initializesock(), load_restart_db(), and process_input_helper().
| #define NVT_NOP '\xF1' |
| #define NVT_WILL '\xFB' |
| #define NVT_WONT '\xFC' |
| #define OPTION_NO 0 |
Definition at line 118 of file interface.h.
Referenced by EnableHim(), EnableUs(), freeqs(), HimState(), initializesock(), load_restart_db(), process_input_helper(), SetUsState(), and UsState().
| #define OPTION_WANTNO_EMPTY 2 |
Definition at line 120 of file interface.h.
Referenced by DisableHim(), DisableUs(), EnableHim(), EnableUs(), and process_input_helper().
| #define OPTION_WANTNO_OPPOSITE 3 |
Definition at line 121 of file interface.h.
Referenced by DisableHim(), DisableUs(), EnableHim(), EnableUs(), and process_input_helper().
| #define OPTION_WANTYES_EMPTY 4 |
Definition at line 122 of file interface.h.
Referenced by DisableHim(), DisableUs(), EnableHim(), EnableUs(), and process_input_helper().
| #define OPTION_WANTYES_OPPOSITE 5 |
Definition at line 123 of file interface.h.
Referenced by DisableHim(), DisableUs(), EnableHim(), EnableUs(), and process_input_helper().
| #define OPTION_YES 1 |
Definition at line 119 of file interface.h.
Referenced by DesiredUsOption(), DisableHim(), DisableUs(), do_prog(), handle_prog(), process_input_helper(), and SetUsState().
| #define R_BADLOGIN 6 |
| #define R_BOOT 3 |
| #define R_GAMEDOWN 7 |
| #define R_GAMEFULL 9 |
| #define R_GOING_DOWN 5 |
| #define R_LOGOUT 8 |
Definition at line 33 of file interface.h.
Referenced by do_logged_out_internal(), and shutdownsock().
| #define R_QUIT 1 |
Definition at line 26 of file interface.h.
Referenced by do_logged_out_internal(), load_restart_db(), and shutdownsock().
| #define R_SOCKDIED 4 |
| #define R_TIMEOUT 2 |
| #define TELNET_EOR '\x19' |
Definition at line 113 of file interface.h.
Referenced by DesiredHimOption(), DesiredUsOption(), do_prog(), handle_prog(), HimState(), SetHimState(), SetUsState(), TelnetSetup(), and UsState().
| #define TELNET_NAWS '\x1F' |
Definition at line 114 of file interface.h.
Referenced by DesiredHimOption(), HimState(), process_input_helper(), SetHimState(), SetUsState(), TelnetSetup(), and UsState().
| #define TELNET_SGA '\x03' |
Definition at line 112 of file interface.h.
Referenced by DesiredHimOption(), DesiredUsOption(), do_prog(), handle_prog(), HimState(), SetHimState(), SetUsState(), TelnetSetup(), and UsState().
Definition at line 53 of file interface.h.
| typedef struct cmd_block_hdr CBLKHDR |
| typedef struct descriptor_data DESC |
Definition at line 125 of file interface.h.
Definition at line 80 of file interface.h.
| typedef struct text_block TBLOCK |
| typedef struct text_block TBLOCK |
Definition at line 65 of file interface.h.
| typedef struct text_block_hdr TBLOCKHDR |
Definition at line 913 of file netcommon.cpp.
References A_ADISCONNECT, alloc_lbuf, alloc_mbuf, argv, atr_pget_str_LEN(), c_Connected, Can_Hide, Contents, statedata::curr_enactor, DARK, db, desc_delhash(), DESC_ITER_PLAYER, do_comdisconnect(), do_mail_purge(), DOLIST, DS_AUTODARK, FLAG_WORD1, descriptor_data::flags, free_lbuf, free_mbuf, object::fs, Good_obj, Guest, H_SUSPECT, halt_que(), confdata::have_comsys, confdata::have_mailer, confdata::have_zones, Hidden, descriptor_data::host_info, local_disconnect(), Location, log_text(), confdata::master_room, Moniker(), MONITOR, MSG_FWDLIST, MSG_INV, MSG_LOC, MSG_NBR, MSG_NBR_EXITS, mudconf, mudstate, Name, NOTHING, notify_check(), notify_except_rlevel(), raw_broadcast(), Suspect, tprintf(), TYPE_ROOM, TYPE_THING, Typeof, wait_que(), WIZARD, flagset::word, and Zone.
Referenced by shutdownsock().
00914 { 00915 int num = 0, key; 00916 DESC *dtemp; 00917 DESC_ITER_PLAYER(player, dtemp) 00918 { 00919 num++; 00920 } 00921 00922 dbref temp = mudstate.curr_enactor; 00923 mudstate.curr_enactor = player; 00924 dbref loc = Location(player); 00925 00926 if (num < 2) 00927 { 00928 if ( Suspect(player) 00929 || (d->host_info & H_SUSPECT)) 00930 { 00931 raw_broadcast(WIZARD, "[Suspect] %s has disconnected.", Moniker(player)); 00932 } 00933 char *buf = alloc_lbuf("announce_disconnect.only"); 00934 00935 sprintf(buf, "%s has disconnected.", Moniker(player)); 00936 key = MSG_INV; 00937 if ( loc != NOTHING 00938 && !( Hidden(player) 00939 && Can_Hide(player))) 00940 { 00941 key |= (MSG_NBR | MSG_NBR_EXITS | MSG_LOC | MSG_FWDLIST); 00942 } 00943 #ifdef REALITY_LVLS 00944 if(loc == NOTHING) 00945 notify_check(player, player, buf, key); 00946 else 00947 notify_except_rlevel(loc, player, player, buf, 0); 00948 #else 00949 notify_check(player, player, buf, key); 00950 #endif /* REALITY_LVLS */ 00951 00952 if (mudconf.have_mailer) 00953 { 00954 do_mail_purge(player); 00955 } 00956 00957 raw_broadcast(MONITOR, "GAME: %s has disconnected. <%s>", Moniker(player), reason); 00958 00959 c_Connected(player); 00960 00961 if (mudconf.have_comsys) 00962 { 00963 do_comdisconnect(player); 00964 } 00965 00966 dbref aowner, zone, obj; 00967 int aflags; 00968 size_t nLen; 00969 char *argv[1]; 00970 argv[0] = (char *)reason; 00971 CLinearTimeAbsolute lta; 00972 atr_pget_str_LEN(buf, player, A_ADISCONNECT, &aowner, &aflags, &nLen); 00973 if (nLen) 00974 { 00975 wait_que(player, player, player, false, lta, NOTHING, 0, buf, 00976 argv, 1, NULL); 00977 } 00978 if (mudconf.master_room != NOTHING) 00979 { 00980 atr_pget_str_LEN(buf, mudconf.master_room, A_ADISCONNECT, &aowner, 00981 &aflags, &nLen); 00982 if (nLen) 00983 { 00984 wait_que(mudconf.master_room, player, player, false, lta, 00985 NOTHING, 0, buf, (char **)NULL, 0, NULL); 00986 } 00987 DOLIST(obj, Contents(mudconf.master_room)) 00988 { 00989 atr_pget_str_LEN(buf, obj, A_ADISCONNECT, &aowner, &aflags, 00990 &nLen); 00991 if (nLen) 00992 { 00993 wait_que(obj, player, player, false, lta, NOTHING, 0, 00994 buf, (char **)NULL, 0, NULL); 00995 } 00996 } 00997 } 00998 00999 // Do the zone of the player's location's possible adisconnect. 01000 // 01001 if (mudconf.have_zones && Good_obj(zone = Zone(loc))) 01002 { 01003 switch (Typeof(zone)) 01004 { 01005 case TYPE_THING: 01006 01007 atr_pget_str_LEN(buf, zone, A_ADISCONNECT, &aowner, &aflags, 01008 &nLen); 01009 if (nLen) 01010 { 01011 wait_que(zone, player, player, false, lta, NOTHING, 0, 01012 buf, (char **)NULL, 0, NULL); 01013 } 01014 break; 01015 01016 case TYPE_ROOM: 01017 01018 // check every object in the room for a connect action. 01019 // 01020 DOLIST(obj, Contents(zone)) 01021 { 01022 atr_pget_str_LEN(buf, obj, A_ADISCONNECT, &aowner, &aflags, 01023 &nLen); 01024 if (nLen) 01025 { 01026 wait_que(obj, player, player, false, lta, NOTHING, 01027 0, buf, (char **)NULL, 0, NULL); 01028 } 01029 } 01030 break; 01031 01032 default: 01033 log_text(tprintf("Invalid zone #%d for %s(#%d) has bad type %d", 01034 zone, Name(player), player, Typeof(zone))); 01035 } 01036 } 01037 free_lbuf(buf); 01038 if (d->flags & DS_AUTODARK) 01039 { 01040 d->flags &= ~DS_AUTODARK; 01041 db[player].fs.word[FLAG_WORD1] &= ~DARK; 01042 } 01043 01044 if (Guest(player)) 01045 { 01046 db[player].fs.word[FLAG_WORD1] |= DARK; 01047 halt_que(NOTHING, player); 01048 } 01049 } 01050 else 01051 { 01052 if ( Suspect(player) 01053 || (d->host_info & H_SUSPECT)) 01054 { 01055 raw_broadcast(WIZARD, "[Suspect] %s has partially disconnected.", Moniker(player)); 01056 } 01057 char *mbuf = alloc_mbuf("announce_disconnect.partial"); 01058 sprintf(mbuf, "%s has partially disconnected.", Moniker(player)); 01059 key = MSG_INV; 01060 if ( loc != NOTHING 01061 && !( Hidden(player) 01062 && Can_Hide(player))) 01063 { 01064 key |= (MSG_NBR | MSG_NBR_EXITS | MSG_LOC | MSG_FWDLIST); 01065 } 01066 #ifdef REALITY_LVLS 01067 if(loc == NOTHING) 01068 notify_check(player, player, mbuf, key); 01069 else 01070 notify_except_rlevel(loc, player, player, mbuf, 0); 01071 #else 01072 notify_check(player, player, mbuf, key); 01073 #endif /* REALITY_LVLS */ 01074 raw_broadcast(MONITOR, "GAME: %s has partially disconnected.", 01075 Moniker(player)); 01076 free_mbuf(mbuf); 01077 } 01078 01079 mudstate.curr_enactor = temp; 01080 desc_delhash(d); 01081 01082 local_disconnect(player, num); 01083 }
| int boot_by_port | ( | SOCKET | port, | |
| bool | bGod, | |||
| const char * | message | |||
| ) |
Definition at line 1102 of file netcommon.cpp.
References DESC_SAFEITER_ALL, descriptor_data::descriptor, DS_CONNECTED, descriptor_data::flags, God, descriptor_data::player, queue_string(), queue_write_LEN(), R_BOOT, and shutdownsock().
Referenced by do_boot().
01103 { 01104 DESC *d, *dnext; 01105 int count = 0; 01106 DESC_SAFEITER_ALL(d, dnext) 01107 { 01108 if ( d->descriptor == port 01109 && ( bGod 01110 || !(d->flags & DS_CONNECTED) 01111 || !God(d->player))) 01112 { 01113 if ( message 01114 && *message) 01115 { 01116 queue_string(d, message); 01117 queue_write_LEN(d, "\r\n", 2); 01118 } 01119 shutdownsock(d, R_BOOT); 01120 count++; 01121 } 01122 } 01123 return count; 01124 }
| void BuildSignalNamesTable | ( | void | ) |
Definition at line 3632 of file bsd.cpp.
References aSigTypes, SIGNALTYPE::iSignal, MUX_SIGNAMES::pLongName, MUX_SIGNAMES::pShortName, signames, and SIGNALTYPE::szSignal.
Referenced by main().
03633 { 03634 int i; 03635 for (i = 0; i < NSIG; i++) 03636 { 03637 signames[i].pShortName = NULL; 03638 signames[i].pLongName = NULL; 03639 } 03640 03641 const SIGNALTYPE *pst = aSigTypes; 03642 while (pst->szSignal) 03643 { 03644 int sig = pst->iSignal; 03645 if ( 0 <= sig 03646 && sig < NSIG) 03647 { 03648 MUX_SIGNAMES *tsn = &signames[sig]; 03649 if (tsn->pShortName == NULL) 03650 { 03651 tsn->pShortName = pst->szSignal; 03652 #ifndef WIN32 03653 if (sig == SIGUSR1) 03654 { 03655 tsn->pLongName = "Restart server"; 03656 } 03657 else if (sig == SIGUSR2) 03658 { 03659 tsn->pLongName = "Drop flatfile"; 03660 } 03661 #endif // WIN32 03662 #ifdef SysSigNames 03663 if ( tsn->pLongName == NULL 03664 && SysSigNames[sig] 03665 && strcmp(tsn->pShortName, SysSigNames[sig]) != 0) 03666 { 03667 tsn->pLongName = SysSigNames[sig]; 03668 } 03669 #endif // SysSigNames 03670 } 03671 } 03672 pst++; 03673 } 03674 for (i = 0; i < NSIG; i++) 03675 { 03676 MUX_SIGNAMES *tsn = &signames[i]; 03677 if (tsn->pShortName == NULL) 03678 { 03679 #ifdef SysSigNames 03680 if (SysSigNames[i]) 03681 { 03682 tsn->pLongName = SysSigNames[i]; 03683 } 03684 #endif // SysSigNames 03685 03686 // This is the only non-const memory case. 03687 // 03688 tsn->pShortName = StringClone(tprintf("SIG%03d", i)); 03689 } 03690 } 03691 }
| void check_idle | ( | void | ) |
Definition at line 1279 of file netcommon.cpp.
References Can_Idle, confdata::conn_timeout, descriptor_data::connected_at, d1, DARK, db, DESC_ITER_PLAYER, DESC_SAFEITER_ALL, DS_AUTODARK, DS_CONNECTED,