diff --git a/exec/load/ars_defs.js b/exec/load/ars_defs.js
new file mode 100644
index 0000000000000000000000000000000000000000..6a01b6c09225f9c3ccaf1e023ad1cb947f0039f2
--- /dev/null
+++ b/exec/load/ars_defs.js
@@ -0,0 +1,54 @@
+const AR_NULL=0;
+const AR_OR=1;
+const AR_NOT=2;
+const AR_EQUAL=3;
+const AR_BEGNEST=4;
+const AR_ENDNEST=5;
+const AR_LEVEL=6;
+const AR_AGE=7;
+const AR_BPS=8;
+const AR_NODE=9;
+const AR_TLEFT=10;
+const AR_TUSED=11;
+const AR_USER=12;
+const AR_TIME=13;
+const AR_PCR=14;
+const AR_FLAG1=15;
+const AR_FLAG2=16;
+const AR_FLAG3=17;
+const AR_FLAG4=18;
+const AR_EXEMPT=19;
+const AR_REST=20;
+const AR_SEX=21;
+const AR_UDR=22;
+const AR_UDFR=23;
+const AR_EXPIRE=24;
+const AR_CREDIT=25;
+const AR_DAY=26;
+const AR_ANSI=27;
+const AR_RIP=28;
+const AR_LOCAL=29;
+const AR_GROUP=30;
+const AR_SUB=31;
+const AR_LIB=32;
+const AR_DIR=33;
+const AR_EXPERT=34;
+const AR_SYSOP=35;
+const AR_QUIET=36;
+const AR_MAIN_CMDS=37;
+const AR_FILE_CMDS=38;
+const AR_RANDOM=39;
+const AR_LASTON=40;
+const AR_LOGONS=41;
+const AR_WIP=42;
+const AR_SUBCODE=43;
+const AR_DIRCODE=44;
+const AR_OS2=45;
+const AR_DOS=46;
+const AR_WIN32=47;
+const AR_UNIX=48;
+const AR_LINUX=49;
+const AR_SHELL=50;
+const AR_PROT=51;
+const AR_GUEST=52;
+const AR_QNODE=53;
diff --git a/exec/load/cmdshell.js b/exec/load/cmdshell.js
new file mode 100644
index 0000000000000000000000000000000000000000..b96a67d73121d58ebd5fea3500a9596bff913c9c
--- /dev/null
+++ b/exec/load/cmdshell.js
@@ -0,0 +1,532 @@
+/* Single byte instructions */
+
+const CS_IF_TRUE=0;			/* Same as IF_EQUAL */
+const CS_IF_FALSE=1;			/* Same as IF_NOT_EQUAL */
+const CS_ELSE=2;
+const CS_ENDIF=3;
+const CS_CMD_HOME=4;
+const CS_CMD_POP=5;
+const CS_END_CMD=6;
+const CS_RETURN=7;
+const CS_GETKEY=8;
+const CS_GETKEYE=9;
+const CS_UNGETKEY=10;
+const CS_UNGETSTR=11;
+const CS_PRINTKEY=12;
+const CS_PRINTSTR=13;
+const CS_HANGUP=14;
+const CS_SYNC=15;
+const CS_ASYNC=16;
+const CS_CHKSYSPASS=17;
+const CS_LOGKEY=18;
+const CS_LOGKEY_COMMA=19;
+const CS_LOGSTR=20;
+const CS_CLS=21;
+const CS_CRLF=22;
+const CS_PAUSE=23;
+const CS_PAUSE_RESET=24;
+const CS_GETLINES=25;
+const CS_GETFILESPEC=26;
+const CS_FINDUSER=27;
+const CS_CLEAR_ABORT=28;
+const CS_SELECT_SHELL=29;
+const CS_SET_SHELL=30;
+const CS_SELECT_EDITOR=31;
+const CS_SET_EDITOR=32;			/* 0x20 */
+const CS_INKEY=33;
+const CS_INCHAR=34;				/* Was RIOSYNC (now deprecated) 02/18/01 */
+const CS_GETTIMELEFT=35;
+const CS_SAVELINE=36;
+const CS_RESTORELINE=37;
+const CS_IF_GREATER=38;
+const CS_IF_GREATER_OR_EQUAL=39;
+const CS_IF_LESS=40;
+const CS_IF_LESS_OR_EQUAL=41;
+const CS_DEFAULT=42; 			/* 0x2a */
+const CS_END_SWITCH=43;
+const CS_END_CASE=44;
+const CS_PUT_NODE=45;
+const CS_GETCHAR=46;
+const CS_ONE_MORE_BYTE=47;
+
+/* Two byte instructions */
+
+const CS_CMDKEY=48;
+const CS_NODE_ACTION=49;
+const CS_GETSTR=50;
+const CS_GETNAME=51;
+const CS_GETSTRUPR=52;
+const CS_SHIFT_STR=53;
+const CS_COMPARE_KEY=54;
+const CS_SETLOGIC=55;
+const CS_SET_USER_LEVEL=56;
+const CS_SET_USER_STRING=57;
+const CS_GETLINE=58; 			/* 0x3a */
+const CS_NODE_STATUS=59;
+const CS_CMDCHAR=60;
+const CS_COMPARE_CHAR=61;
+const CS_MULTINODE_CHAT=62;
+const CS_TWO_MORE_BYTES=63;
+
+/* Three byte instructions */
+
+const CS_GOTO=64;
+const CS_CALL=65;
+const CS_TOGGLE_NODE_MISC=66;
+const CS_ADJUST_USER_CREDITS=67;
+const CS_TOGGLE_USER_FLAG=68;
+const CS_GETNUM=69;
+const CS_COMPARE_NODE_MISC=70;
+const CS_MSWAIT=71;
+const CS_ADJUST_USER_MINUTES=72;
+const CS_REVERT_TEXT=73;
+const CS_THREE_MORE_BYTES=79;
+
+/* String arg instructions */
+
+const CS_MENU=80;
+const CS_PRINT=81;
+const CS_PRINT_LOCAL=82;
+const CS_PRINT_REMOTE=83;
+const CS_PRINTFILE=84;
+const CS_PRINTFILE_LOCAL=85;
+const CS_PRINTFILE_REMOTE=86;
+const CS_YES_NO=87;
+const CS_NO_YES=88;
+const CS_COMPARE_STR=89;
+const CS_COMPARE_WORD=90;		/* 0x5a */
+const CS_EXEC=91;
+const CS_EXEC_INT=92;
+const CS_EXEC_BIN=93;
+const CS_EXEC_XTRN=94;
+const CS_GETCMD=95;
+const CS_LOG=96; 				/* 0x60 */
+const CS_MNEMONICS=97;
+const CS_SETSTR=98;
+const CS_SET_MENU_DIR=99;
+const CS_SET_MENU_FILE=100;
+const CS_CMDSTR=101;
+const CS_CHKFILE=102;
+const CS_GET_TEMPLATE=103;
+const CS_TRASHCAN=104;
+const CS_CREATE_SIF=105;
+const CS_READ_SIF=106;			/* 0x6a */
+const CS_CMDKEYS=107;
+const CS_COMPARE_KEYS=108;
+const CS_STR_FUNCTION=111;
+
+/* Var length instructions */
+
+const CS_COMPARE_ARS=112;
+const CS_TOGGLE_USER_MISC=113;
+const CS_COMPARE_USER_MISC=114;
+const CS_REPLACE_TEXT=115;
+const CS_TOGGLE_USER_CHAT=116;
+const CS_COMPARE_USER_CHAT=117;
+const CS_TOGGLE_USER_QWK=118;
+const CS_COMPARE_USER_QWK=119;
+const CS_SWITCH=120;
+const CS_CASE=121;
+const CS_USE_INT_VAR=122; 		/* 0x7a */
+
+/* Network (TCP/IP) Functions */
+
+const CS_NET_FUNCTION=125;
+
+/* File I/O Functions */
+
+const CS_FIO_FUNCTION=126;
+
+/* Variable instruction sub-ops */
+
+const CS_VAR_INSTRUCTION=127;
+
+/* Functions */
+
+const CS_MAIL_READ=128;
+const CS_MAIL_READ_SENT=129;
+const CS_MAIL_READ_ALL=130;
+const CS_MAIL_SEND=131;
+const CS_MAIL_SEND_BULK=132;
+const CS_MAIL_SEND_FILE=133;
+const CS_MAIL_SEND_FEEDBACK=134;
+const CS_MAIL_SEND_NETMAIL=135;
+const CS_MAIL_SEND_NETFILE=136;
+const CS_LOGOFF=137;
+const CS_LOGOFF_FAST=138;
+const CS_AUTO_MESSAGE=139;
+const CS_MSG_SET_AREA=140;
+const CS_MSG_SELECT_AREA=141;
+const CS_MSG_SHOW_GROUPS=142;
+const CS_MSG_SHOW_SUBBOARDS=143;
+const CS_MSG_GROUP_UP=144;			/* 0x90 */
+const CS_MSG_GROUP_DOWN=145;
+const CS_MSG_SUBBOARD_UP=146;
+const CS_MSG_SUBBOARD_DOWN=147;
+const CS_MSG_GET_SUB_NUM=148;
+const CS_MSG_GET_GRP_NUM=149;
+const CS_MSG_READ=150;
+const CS_MSG_POST=151;
+const CS_MSG_QWK=152;
+const CS_MSG_PTRS_CFG=153;
+const CS_MSG_PTRS_REINIT=154;
+const CS_MSG_NEW_SCAN_CFG=155;
+const CS_MSG_NEW_SCAN=156;
+const CS_MSG_NEW_SCAN_ALL=157;
+const CS_MSG_CONT_SCAN=158;
+const CS_MSG_CONT_SCAN_ALL=159;
+const CS_MSG_BROWSE_SCAN=160; 		/* 0xA0 */
+const CS_MSG_BROWSE_SCAN_ALL=161;
+const CS_MSG_FIND_TEXT=162;
+const CS_MSG_FIND_TEXT_ALL=163;
+const CS_MSG_YOUR_SCAN_CFG=164;
+const CS_MSG_YOUR_SCAN=165;
+const CS_MSG_YOUR_SCAN_ALL=166;
+const CS_MSG_NEW_SCAN_SUB=167;
+const CS_MSG_SET_GROUP=168;
+const CS_MSG_UNUSED4=169;
+const CS_MSG_UNUSED3=170;
+const CS_MSG_UNUSED2=171;
+const CS_MSG_UNUSED1=172;
+const CS_FILE_SET_AREA=173;
+const CS_FILE_SELECT_AREA=174;
+const CS_FILE_SHOW_LIBRARIES=175;
+const CS_FILE_SHOW_DIRECTORIES=176;	/* 0xB0 */
+const CS_FILE_LIBRARY_UP=177;
+const CS_FILE_LIBRARY_DOWN=178;
+const CS_FILE_DIRECTORY_UP=179;
+const CS_FILE_DIRECTORY_DOWN=180;
+const CS_FILE_GET_DIR_NUM=181;
+const CS_FILE_GET_LIB_NUM=182;
+const CS_FILE_LIST=183;
+const CS_FILE_LIST_EXTENDED=184;
+const CS_FILE_VIEW=185;
+const CS_FILE_UPLOAD=186;
+const CS_FILE_UPLOAD_USER=187;
+const CS_FILE_UPLOAD_SYSOP=188;
+const CS_FILE_DOWNLOAD=189;
+const CS_FILE_DOWNLOAD_USER=190;
+const CS_FILE_DOWNLOAD_BATCH=191;
+const CS_FILE_REMOVE=192; 			/* 0xC0 */
+const CS_FILE_BATCH_SECTION=193;
+const CS_FILE_TEMP_SECTION=194;
+const CS_FILE_NEW_SCAN_CFG=195;
+const CS_FILE_NEW_SCAN=196;
+const CS_FILE_NEW_SCAN_ALL=197;
+const CS_FILE_FIND_TEXT=198;
+const CS_FILE_FIND_TEXT_ALL=199;
+const CS_FILE_FIND_NAME=200;
+const CS_FILE_FIND_NAME_ALL=201;
+const CS_FILE_PTRS_CFG=202;
+const CS_FILE_BATCH_ADD=203;
+const CS_FILE_BATCH_CLEAR=204;
+const CS_FILE_SET_LIBRARY=205;
+const CS_FILE_SEND=206;				/* Like file_get, but no password needed */
+const CS_FILE_BATCH_ADD_LIST=207;
+const CS_FILE_RECEIVE=208;			/* 0xD0 */
+const CS_NODELIST_ALL=209;
+const CS_NODELIST_USERS=210;
+const CS_CHAT_SECTION=211;
+const CS_USER_DEFAULTS=212;
+const CS_USER_EDIT=213;
+const CS_TEXT_FILE_SECTION=214;
+const CS_INFO_SYSTEM=215;
+const CS_INFO_SUBBOARD=216;
+const CS_INFO_DIRECTORY=217;
+const CS_INFO_USER=218;
+const CS_INFO_VERSION=219;
+const CS_INFO_XFER_POLICY=220;
+const CS_XTRN_EXEC=221;
+const CS_XTRN_SECTION=222;
+const CS_USERLIST_SUB=223;
+const CS_USERLIST_DIR=224;			/* 0xE0 */
+const CS_USERLIST_ALL=225;
+const CS_USERLIST_LOGONS=226;
+const CS_PAGE_SYSOP=227;
+const CS_PRIVATE_CHAT=228;
+const CS_PRIVATE_MESSAGE=229;
+const CS_MINUTE_BANK=230;
+const CS_GURU_LOG=231;
+const CS_ERROR_LOG=232;
+const CS_SYSTEM_LOG=233;
+const CS_SYSTEM_YLOG=234;
+const CS_SYSTEM_STATS=235;
+const CS_NODE_STATS=236;
+const CS_SHOW_MEM=237;
+const CS_CHANGE_USER=238;
+const CS_ANSI_CAPTURE=239;
+const CS_LIST_TEXT_FILE=240;			/* 0xF0 */
+const CS_EDIT_TEXT_FILE=241;
+const CS_FILE_SET_ALT_PATH=242;
+const CS_FILE_RESORT_DIRECTORY=243;
+const CS_FILE_GET=244;
+const CS_FILE_PUT=245;
+const CS_FILE_UPLOAD_BULK=246;
+const CS_FILE_FIND_OLD=247;
+const CS_FILE_FIND_OPEN=248;
+const CS_FILE_FIND_OFFLINE=249;
+const CS_FILE_FIND_OLD_UPLOADS=250;
+const CS_INC_MAIN_CMDS=251;
+const CS_INC_FILE_CMDS=252;
+const CS_PRINTFILE_STR=253;
+const CS_PAGE_GURU=254;				
+const CS_SPY=255;						/* 0xFF */
+	
+
+/* Variable instructions (sub-op-code) */
+/* Preceeded by CS_VAR_INSTRUCTION */
+const SHOW_VARS=0;						/* Show all variables */
+const PRINT_VAR=1;						/* Print a single variable */
+const VAR_PRINTF=2; 					/* Print a formated line of text */
+const VAR_PRINTF_LOCAL=3;				/* Print a formated line of text to local display */
+const VAR_RESERVED_3=4;
+const VAR_RESERVED_2=5;
+const VAR_RESERVED_1=6;
+const DEFINE_STR_VAR=7; 				/* Define Local Variable */
+const DEFINE_INT_VAR=8;
+const VAR_RESERVED_A4=9;
+const VAR_RESERVED_A3=10;
+const VAR_RESERVED_A2=11;
+const VAR_RESERVED_A1=12;
+const DEFINE_GLOBAL_STR_VAR=13;			/* Define Global Variable */
+const DEFINE_GLOBAL_INT_VAR=14;
+const VAR_RESERVED_B4=15;
+const VAR_RESERVED_B3=16;	/* 0x10 */
+const VAR_RESERVED_B2=17;
+const VAR_RESERVED_B1=18;
+const SET_STR_VAR=19;					/* Set string variable */
+const SET_INT_VAR=20;					/* Set integer variable */
+const VAR_RESERVED_C4=21;
+const VAR_RESERVED_C3=22;
+const VAR_RESERVED_C2=23;
+const VAR_RESERVED_C1=24;
+const COMPARE_STR_VAR=25;				/* Compare string variable (static) */
+const COMPARE_INT_VAR=26;				/* Compare integer variable (static) */
+const STRNCMP_VAR=27;					/* Compare n chars of str var (static) */
+const STRSTR_VAR=28; 					/* Sub-string compare of str var (static) */
+const VAR_RESERVED_D2=29;
+const VAR_RESERVED_D1=30;
+const COMPARE_VARS=31;					/* Compare two variables */
+const STRNCMP_VARS=32;		/* 0x20 	// Compare n chars of str vars (dynamic) */
+const STRSTR_VARS=33;					/* Sub-string compare between two str vars */
+const VAR_RESERVED_E2=34;
+const VAR_RESERVED_E1=35;
+const COPY_VAR=36;						/* Copy from one variable to another */
+const VAR_RESERVED_F4=37;
+const VAR_RESERVED_F3=38;
+const VAR_RESERVED_F2=39;
+const VAR_RESERVED_F1=40;
+const SWAP_VARS=41;						/* Swap two variables */
+const VAR_RESERVED_G4=42;
+const VAR_RESERVED_G3=43;
+const VAR_RESERVED_G2=44;
+const VAR_RESERVED_G1=45;
+const CAT_STR_VAR=46;					/* Concatenate string variable (static) */
+const CAT_STR_VARS=47;                   /* Concatenate strint variable (dynamic) */
+const FORMAT_STR_VAR=48; 	/* 0x30 	// Format string variable */
+const TIME_STR=49;						/* Write formated date/time to string */
+const DATE_STR=50;						/* Write MM/DD/YY to string */
+const FORMAT_TIME_STR=51;				/* Create custom date/time string */
+const SECOND_STR=52; 					/* Create a string in format hh:mm:ss */
+const STRUPR_VAR=53; 					/* Convert string to upper case */
+const STRLWR_VAR=54; 					/* Convert string to lower case */
+const ADD_INT_VAR=55;					/* Add to int variable (static) */
+const ADD_INT_VARS=56;					/* Add to int variable (dynamic) */
+const VAR_RESERVED_I4=57;
+const VAR_RESERVED_I3=58;
+const VAR_RESERVED_I2=59;
+const VAR_RESERVED_I1=60;
+const SUB_INT_VAR=61;					/* Subtract from int variable (static) */
+const SUB_INT_VARS=62;					/* Subtract from int variable (dynamic) */
+const VAR_RESERVED_J4=63;
+const VAR_RESERVED_J3=64;	/* 0x40 */
+const VAR_RESERVED_J2=65;
+const VAR_RESERVED_J1=66;
+const MUL_INT_VAR=67;					/* Multiply int variable (static) */
+const MUL_INT_VARS=68;					/* Multiply int variable (dynamic) */
+const VAR_RESERVED_K4=69;
+const VAR_RESERVED_K3=70;
+const VAR_RESERVED_K2=71;
+const VAR_RESERVED_K1=72;
+const DIV_INT_VAR=73;					/* Divide int variable (static) */
+const DIV_INT_VARS=74;					/* Divide int variable (dynamic) */
+const MOD_INT_VAR=75;
+const MOD_INT_VARS=76;
+const VAR_RESERVED_L2=77;
+const VAR_RESERVED_L1=78;
+const AND_INT_VAR=79;					/* Bit-wise AND int variable (static) */
+const AND_INT_VARS=80;		/* 0x50 	// Bit-wise AND int variable (dynamic) */
+const COMPARE_ANY_BITS=81;
+const COMPARE_ALL_BITS=82;
+const VAR_RESERVED_M2=83;
+const VAR_RESERVED_M1=84;
+const OR_INT_VAR=85; 					/* Bit-wise OR int variable (static) */
+const OR_INT_VARS=86;					/* Bit-wise OR int variable (dynamic) */
+const VAR_RESERVED_N4=87;
+const VAR_RESERVED_N3=88;
+const VAR_RESERVED_N2=89;
+const VAR_RESERVED_N1=90;
+const NOT_INT_VAR=91;					/* Bit-wise NOT int variable (static) */
+const NOT_INT_VARS=92;					/* Bit-wise NOT int variable (dynamic) */
+const VAR_RESERVED_O4=93;
+const VAR_RESERVED_O3=94;
+const VAR_RESERVED_O2=95;
+const VAR_RESERVED_O1=96;	/* 0x60 */
+const XOR_INT_VAR=97;					/* XOR int variable (static) */
+const XOR_INT_VARS=98;					/* XOR int variable (dynamic) */
+const VAR_RESERVED_P4=99;
+const VAR_RESERVED_P3=100;
+const VAR_RESERVED_P2=101;
+const VAR_RESERVED_P1=102;
+const RANDOM_INT_VAR=103; 				/* Set integer to random number */
+const TIME_INT_VAR=104;					/* Set integer to current time/date */
+const DATE_STR_TO_INT=105;				/* Convert a date string to integer */
+const STRLEN_INT_VAR=106; 				/* Set integer to length of str */
+const CRC16_TO_INT=107;					/* Get CRC-16 of str var */
+const CRC32_TO_INT=108;					/* Get CRC-32 of str var */
+const FLENGTH_TO_INT=109; 				/* Put length of str var file into int */
+const CHARVAL_TO_INT=110; 				/* Put character val of str var into int */
+const GETNUM_VAR=111; 					/* Get number */
+const GETSTR_VAR=112; 		/* 0x70 	// Get string */
+const GETNAME_VAR=113;					/* Get string (upper/lower) */
+const GETSTRUPR_VAR=114;					/* Get string (upper) */
+const GETLINE_VAR=115;					/* Get string (input bar/line) */
+const SHIFT_STR_VAR=116;					/* Shift str in variable */
+const GETSTR_MODE=117;					/* Get string with various modes */
+const TRUNCSP_STR_VAR=118;				/* Truncate space off end of str var */
+const CHKFILE_VAR=119;
+const PRINTFILE_VAR_MODE=120; 			/* Printfile str var with mode */
+const PRINTTAIL_VAR_MODE=121; 			/* Print tail-end of str var with mode */
+const CHKSUM_TO_INT=122;					/* Get CHKSUM of str var */
+const STRIP_CTRL_STR_VAR=123; 			/* Strip ctrl chars from str var */
+const SEND_FILE_VIA=124;					/* Send file (static) via protocol */
+const SEND_FILE_VIA_VAR=125;				/* Send file (dynamic) via protocol */
+const FTIME_TO_INT=126;					/* Put time of str var file into int */
+const RECEIVE_FILE_VIA=127;				/* Receive file (static) via protocol */
+const RECEIVE_FILE_VIA_VAR=128; /* 0x80	// Receive file (dynamic) via protocol */
+const TELNET_GATE_STR=129;				/* Run telnet gateway to static address with mode */
+const TELNET_GATE_VAR=130;				/* Run telnet gateway to variable address with mode */
+const COPY_FIRST_CHAR=131;				/* Copy first char of str var to int var */
+const COMPARE_FIRST_CHAR=132;				/* Compare first char of str var to static char */
+const COPY_CHAR=133;						/* Copy cmdkey to int var or str var */
+const SHIFT_TO_FIRST_CHAR=134;			/* Shift str var to first occurance of static char */
+const SHIFT_TO_LAST_CHAR=135;				/* Shift str var to last occurance of static char */
+const MATCHUSER=136;						/* Set int var to user number of user name (str var) */
+
+/* Preceeded by CS_STR_FUNCTION */
+const CS_LOGIN=0;						/* Login/password prompt */
+const CS_LOAD_TEXT=1;					/* Load alternative TEXT.DAT */
+
+/* Preceeded by CS_ONE_MORE_BYTE */
+const CS_ONLINE=0;						/* Online execution only */
+const CS_OFFLINE=1; 					/* Offline execution allowed */
+const CS_NEWUSER=2; 					/* New user procedure */
+const CS_LOGON=3;						/* Logon procedure */
+const CS_LOGOUT=4;						/* Logout procedure */
+const CS_EXIT=5;						/* Exit current module immediately */
+const CS_LOOP_BEGIN=6;					/* Looping anchor */
+const CS_CONTINUE_LOOP=7;				/* "next" loop */
+const CS_BREAK_LOOP=8;					/* Stop executing loop */
+const CS_END_LOOP=9;					/* End of looping code block */
+
+/* Preceeded by CS_TWO_MORE_BYTES */
+const CS_USER_EVENT=0;					/* External user event */
+
+/* Preceeded by CS_NET_FUNCTION */
+const CS_SOCKET_OPEN=0;					/* Open a socket */
+const CS_SOCKET_CLOSE=1;				/* Close a socket */
+const CS_SOCKET_CONNECT=2;				/* Outbound connection */
+const CS_SOCKET_ACCEPT=3;				/* Accept an incomming connection */
+const CS_SOCKET_NREAD=4;				/* Get number of bytes in input buffer */
+const CS_SOCKET_PEEK=5;					/* Peek at input buffer */
+const CS_SOCKET_READ=6;					/* Read input buffer */
+const CS_SOCKET_WRITE=7;				/* Write to socket */
+const CS_SOCKET_CHECK=8;				/* Check connection */
+const CS_SOCKET_READLINE=9;				/* Read a cr/lf delimited line from socket */
+const CS_SOCKET_UNUSED6=10;
+const CS_SOCKET_UNUSED5=11;
+const CS_SOCKET_UNUSED4=12;
+const CS_SOCKET_UNUSED3=13;
+const CS_SOCKET_UNUSED2=14;
+const CS_SOCKET_UNUSED1=15;
+
+const CS_FTP_LOGIN=16;					/* socket, username, password */
+const CS_FTP_LOGOUT=17;
+const CS_FTP_PWD=18;						/* print working dir */
+const CS_FTP_CWD=19;						/* change working dir */
+const CS_FTP_DIR=20;						/* path */
+const CS_FTP_PUT=21;						/* path */
+const CS_FTP_GET=22;						/* path, offset */
+const CS_FTP_RENAME=23;					
+const CS_FTP_DELETE=24;
+const CS_FTP_UNUSED7=25;
+const CS_FTP_UNUSED6=26;
+const CS_FTP_UNUSED5=27;
+const CS_FTP_UNUSED4=28;
+const CS_FTP_UNUSED3=29;
+const CS_FTP_UNUSED2=30;
+const CS_FTP_UNUSED1=31;
+
+/* Preceeded by CS_FIO_FUNCTION */
+const FIO_OPEN=0;						/* Open file (static filename) */
+const FIO_CLOSE=1;						/* Close file */
+const FIO_READ=2;						/* Read from file */
+const FIO_READ_VAR=3;					/* Read from file, variable # of bytes */
+const FIO_WRITE=4;						/* Write to file */
+const FIO_WRITE_VAR=5;					/* Write to file, variable # of bytes */
+const FIO_GET_LENGTH=6; 				/* Get length */
+const FIO_EOF=7;						/* Set logic to TRUE if eof */
+const FIO_GET_POS=8;					/* Get current file position */
+const FIO_SEEK=9;						/* Seek within file */
+const FIO_SEEK_VAR=10;					/* Seek within file, variable offset */
+const FIO_LOCK=11;						/* Lock a region */
+const FIO_LOCK_VAR=12;					/* Lock a region, variable length */
+const FIO_UNLOCK=13; 					/* Unlock a region */
+const FIO_UNLOCK_VAR=14; 				/* Unlock a region, variable length */
+const FIO_SET_LENGTH=15; 				/* Change size */
+const FIO_SET_LENGTH_VAR=16; 			/* Change size, variable length */
+const FIO_PRINTF=17; 					/* Write formated string to file */
+const FIO_SET_ETX=18;					/* Set end-of-text character */
+const FIO_GET_TIME=19;					/* Gets the current date/time of file */
+const FIO_SET_TIME=20;					/* Sets the current date/time of file */
+const FIO_OPEN_VAR=21;					/* Open a file (dynamic filename) */
+const FIO_READ_LINE=22;					/* Read a single line from file */
+const FIO_FLUSH=23;						/* Flush buffered output to disk */
+const FIO_UNUSED8=24;
+const FIO_UNUSED7=25;
+const FIO_UNUSED6=26;
+const FIO_UNUSED5=27;
+const FIO_UNUSED4=28;
+const FIO_UNUSED3=29;
+const FIO_UNUSED2=30;
+const FIO_UNUSED1=31;
+const REMOVE_FILE=32;					/* Remove a file */
+const RENAME_FILE=33;					/* Rename a file */
+const COPY_FILE=34;						/* Copy a file to another file */
+const MOVE_FILE=35;						/* Move a file to another file */
+const GET_FILE_ATTRIB=36;				/* Get file attributes */
+const SET_FILE_ATTRIB=37;				/* Set file attributes */
+const MAKE_DIR=38;						/* Make directory */
+const CHANGE_DIR=39; 					/* Change current directory */
+const REMOVE_DIR=40; 					/* Remove directory */
+const OPEN_DIR=41;						/* Open a directory */
+const READ_DIR=42;						/* Read a directory entry */
+const REWIND_DIR=43; 					/* Rewind an open directory */
+const CLOSE_DIR=44;						/* Close an open directory */
+
+const CS_ONE_BYTE=CS_IF_TRUE;
+const CS_TWO_BYTE=CS_CMDKEY;
+const CS_THREE_BYTE=CS_GOTO;
+const CS_ASCIIZ=CS_MENU;
+const CS_MISC=CS_COMPARE_ARS;
+const CS_FUNCTIONS=CS_MAIL_READ;
+const CS_ELSEORENDIF=255;
+const CS_NEXTCASE=254;
+
+const CS_DIGIT=255;
+const CS_EDIGIT=254;
+const LOGIC_LESS=-1;
+const LOGIC_EQUAL=0;
+const LOGIC_GREATER=1;
+const LOGIC_TRUE=LOGIC_EQUAL;
+const LOGIC_FALSE=LOGIC_LESS;