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;