diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index 3a9a837535267ec080d0a845bc4d79a448edf767..ab712f3c9488963fe3792b09ae0165689c7674f1 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -2485,25 +2485,25 @@ js_select_editor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r } static jsSyncMethodSpec js_bbs_functions[] = { - {"atcode", js_atcode, 1, JSTYPE_STRING, JSDOCSTR("string code") + {"atcode", js_atcode, 1, JSTYPE_STRING, JSDOCSTR("code_string") ,JSDOCSTR("returns @-code value, specified <i>code</i> string does not include @ character delimiters") ,310 }, /* text.dat */ - {"text", js_text, 1, JSTYPE_STRING, JSDOCSTR("number line") + {"text", js_text, 1, JSTYPE_STRING, JSDOCSTR("line_number") ,JSDOCSTR("returns specified text string from text.dat") ,310 }, - {"replace_text", js_replace_text, 2, JSTYPE_BOOLEAN, JSDOCSTR("number line, string text") + {"replace_text", js_replace_text, 2, JSTYPE_BOOLEAN, JSDOCSTR("line_number, string text") ,JSDOCSTR("replaces specified text string in memory") ,310 }, - {"revert_text", js_revert_text, 1, JSTYPE_BOOLEAN, JSDOCSTR("[number line]") + {"revert_text", js_revert_text, 1, JSTYPE_BOOLEAN, JSDOCSTR("[line_number=<i>all</i>]") ,JSDOCSTR("reverts specified text string to original text string; " - "if <i>line</i> unspecified, reverts all text lines") + "if <i>line_number</i> unspecified, reverts all text lines") ,310 }, - {"load_text", js_load_text, 1, JSTYPE_BOOLEAN, JSDOCSTR("string basefilename") + {"load_text", js_load_text, 1, JSTYPE_BOOLEAN, JSDOCSTR("base_filename") ,JSDOCSTR("load an alternate text.dat from ctrl directory, automatically appends '.dat' to basefilename") ,310 }, @@ -2512,8 +2512,8 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("interactive new user procedure") ,310 }, - {"login", js_login, 2, JSTYPE_BOOLEAN, JSDOCSTR("string username, password_prompt") - ,JSDOCSTR("login with <i>username</i>, displaying <i>password_prompt</i> for password (if required)") + {"login", js_login, 2, JSTYPE_BOOLEAN, JSDOCSTR("user_name, password_prompt") + ,JSDOCSTR("login with <i>user_name</i>, displaying <i>password_prompt</i> for password (if required)") ,310 }, {"logon", js_logon, 0, JSTYPE_BOOLEAN, JSDOCSTR("") @@ -2569,7 +2569,7 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("start a batch download") ,310 }, - {"batch_add_list", js_batchaddlist, 1, JSTYPE_VOID, JSDOCSTR("filename") + {"batch_add_list", js_batchaddlist, 1, JSTYPE_VOID, JSDOCSTR("list_filename") ,JSDOCSTR("add file list to batch download queue") ,310 }, @@ -2589,11 +2589,11 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("display system information") ,310 }, - {"sub_info", js_sub_info, 1, JSTYPE_VOID, JSDOCSTR("[sub-board]") + {"sub_info", js_sub_info, 1, JSTYPE_VOID, JSDOCSTR("[sub-board=<i>current</i>]") ,JSDOCSTR("display message sub-board information (current <i>sub-board</i>, if unspecified)") ,310 }, - {"dir_info", js_dir_info, 0, JSTYPE_VOID, JSDOCSTR("[directory]") + {"dir_info", js_dir_info, 0, JSTYPE_VOID, JSDOCSTR("[directory=<i>current</i>]") ,JSDOCSTR("display file directory information (current <i>directory</i>, if unspecified)") ,310 }, @@ -2609,16 +2609,16 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("display system statistics") ,310 }, - {"node_stats", js_node_stats, 0, JSTYPE_VOID, JSDOCSTR("[node_number]") + {"node_stats", js_node_stats, 0, JSTYPE_VOID, JSDOCSTR("[node_number=<i>current</i>]") ,JSDOCSTR("display current (or specified) node statistics") ,310 }, - {"list_users", js_userlist, 0, JSTYPE_VOID, JSDOCSTR("[mode]") + {"list_users", js_userlist, 0, JSTYPE_VOID, JSDOCSTR("[mode=<tt>UL_ALL</tt>]") ,JSDOCSTR("display user list" "(see <tt>UL_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> values)") ,310 }, - {"edit_user", js_useredit, 0, JSTYPE_VOID, JSDOCSTR("[user_number]") + {"edit_user", js_useredit, 0, JSTYPE_VOID, JSDOCSTR("[user_number=<i>current</i>]") ,JSDOCSTR("enter the user editor") ,310 }, @@ -2630,53 +2630,53 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("display the logon list") ,310 }, - {"read_mail", js_readmail, 0, JSTYPE_VOID, JSDOCSTR("[which [,user_number]]") + {"read_mail", js_readmail, 0, JSTYPE_VOID, JSDOCSTR("[which=<tt>MAIL_YOUR</tt>] [,user_number=<i>current</i>]") ,JSDOCSTR("read private e-mail" "(see <tt>MAIL_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>which</i> values)") ,310 }, - {"email", js_email, 1, JSTYPE_BOOLEAN, JSDOCSTR("number user [,number mode] [,string top] [,string subject]") - ,JSDOCSTR("send private e-mail or netmail") + {"email", js_email, 1, JSTYPE_BOOLEAN, JSDOCSTR("to_user_number [,mode=<tt>WM_EMAIL</tt>] [,top=<i>none</i>] [,subject=<i>none</i>]") + ,JSDOCSTR("send private e-mail to a local user") ,310 }, - {"netmail", js_netmail, 1, JSTYPE_BOOLEAN, JSDOCSTR("string address [,number mode] [,string subject]") + {"netmail", js_netmail, 1, JSTYPE_BOOLEAN, JSDOCSTR("address [,mode=<tt>WM_NONE</tt>] [,subject=<i>none</i>]") ,JSDOCSTR("send private netmail") ,310 }, {"bulk_mail", js_bulkmail, 0, JSTYPE_VOID, JSDOCSTR("[ars]") - ,JSDOCSTR("send bulk private e-mail") + ,JSDOCSTR("send bulk private e-mail, if <i>ars</i> not specified, prompt for destination users") ,310 }, - {"upload_file", js_upload_file, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory]") + {"upload_file", js_upload_file, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory=<i>current</i>]") ,JSDOCSTR("upload file to file directory specified by number or internal code") ,310 }, - {"bulk_upload", js_bulkupload, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory]") + {"bulk_upload", js_bulkupload, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory=<i>current</i>]") ,JSDOCSTR("add files (already in local storage path) to file directory " "specified by number or internal code") ,310 }, - {"resort_dir", js_resort_dir, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory]") + {"resort_dir", js_resort_dir, 1, JSTYPE_BOOLEAN, JSDOCSTR("[directory=<i>current</i>]") ,JSDOCSTR("re-sort the file directory specified by number or internal code)") ,310 }, - {"list_files", js_listfiles, 1, JSTYPE_NUMBER, JSDOCSTR("[directory] [,string filespec] [,number mode]") + {"list_files", js_listfiles, 1, JSTYPE_NUMBER, JSDOCSTR("[directory=<i>current</i>] [,filespec=<tt>\"*.*\"</tt>] [,mode=<tt>FL_NONE</tt>]") ,JSDOCSTR("list files in the specified file directory, " "optionally specifying a file specification (wildcards) and <i>mode</i> (bitfield)") ,310 }, - {"list_file_info", js_listfileinfo, 1, JSTYPE_NUMBER, JSDOCSTR("[directory] [,string filespec] [,number mode]") + {"list_file_info", js_listfileinfo, 1, JSTYPE_NUMBER, JSDOCSTR("[directory=<i>current</i>] [,filespec=<tt>\"*.*\"</tt>] [,mode=<tt>FI_INFO</tt>]") ,JSDOCSTR("list extended file information for files in the specified file directory") ,310 }, - {"post_msg", js_postmsg, 1, JSTYPE_BOOLEAN, JSDOCSTR("[sub-board] [,number mode] [,object reply_header]") + {"post_msg", js_postmsg, 1, JSTYPE_BOOLEAN, JSDOCSTR("[sub-board=<i>current</i>] [,mode=<tt>WM_MODE</tt>] [,object reply_header]") ,JSDOCSTR("post a message in the specified message sub-board (number or internal code) " "with optinal <i>mode</i> (bitfield)<br>" "If <i>reply_header</i> is specified (a header object returned from <i>MsgBase.get_msg_header()</i>), that header " "will be used for the in-reply-to header fields (this argument added in v3.13)") ,313 }, - {"cfg_msg_scan", js_msgscan_cfg, 0, JSTYPE_VOID, JSDOCSTR("[number type]") + {"cfg_msg_scan", js_msgscan_cfg, 0, JSTYPE_VOID, JSDOCSTR("[type=<tt>SCAN_CFG_NEW</tt>]") ,JSDOCSTR("configure message scan " "(<i>type</i> is either <tt>SCAN_CFG_NEW</tt> or <tt>SCAN_CFG_TOYOU</tt>)") ,310 @@ -2689,15 +2689,15 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("re-initialize new message scan pointers") ,310 }, - {"scan_subs", js_scansubs, 0, JSTYPE_VOID, JSDOCSTR("[number mode, boolean all]") + {"scan_subs", js_scansubs, 0, JSTYPE_VOID, JSDOCSTR("[mode=<tt>SCAN_NEW</tt>] [,all=<tt>false</tt>]") ,JSDOCSTR("scan sub-boards for messages") ,310 }, - {"scan_dirs", js_scandirs, 0, JSTYPE_VOID, JSDOCSTR("[number mode, boolean all]") + {"scan_dirs", js_scandirs, 0, JSTYPE_VOID, JSDOCSTR("[mode=<tt>FL_NONE</tt>] [,all=<tt>false</tt>]") ,JSDOCSTR("scan directories for files") ,310 }, - {"scan_posts", js_scanposts, 1, JSTYPE_BOOLEAN, JSDOCSTR("[sub-board, number mode, string find]") + {"scan_posts", js_scanposts, 1, JSTYPE_BOOLEAN, JSDOCSTR("[sub-board=<i>current</i>] [,mode=<tt>SCAN_READ</tt>] [,string find]") ,JSDOCSTR("scan posts in the specified message sub-board (number or internal code), " "optionally search for 'find' string") ,310 @@ -2707,7 +2707,7 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("display a menu file from the text/menu directory") ,310 }, - {"log_key", js_logkey, 1, JSTYPE_BOOLEAN, JSDOCSTR("key [,boolean comma]") + {"log_key", js_logkey, 1, JSTYPE_BOOLEAN, JSDOCSTR("key [,comma=<tt>false</tt>]") ,JSDOCSTR("log key to node.log (comma optional)") ,310 }, @@ -2725,22 +2725,22 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,310 }, /* xtrn programs/modules */ - {"exec", js_exec, 2, JSTYPE_NUMBER, JSDOCSTR("cmdline [,number mode] [,string startup_dir]") + {"exec", js_exec, 2, JSTYPE_NUMBER, JSDOCSTR("cmdline [,mode=<tt>EX_NONE</tt>] [,string startup_dir]") ,JSDOCSTR("execute a program, optionally changing current directory to <i>startup_dir</i> " "(see <tt>EX_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> bits)") ,310 }, {"exec_xtrn", js_exec_xtrn, 1, JSTYPE_BOOLEAN, JSDOCSTR("xtrn_number_or_code") - ,JSDOCSTR("execute external program by internal code") + ,JSDOCSTR("execute external program by number or internal code") ,310 }, - {"user_event", js_user_event, 1, JSTYPE_BOOLEAN, JSDOCSTR("number event_type") + {"user_event", js_user_event, 1, JSTYPE_BOOLEAN, JSDOCSTR("event_type") ,JSDOCSTR("execute user event by event type " "(see <tt>EVENT_*</tt> in <tt>sbbsdefs.js</tt> for valid values)") ,310 }, - {"telnet_gate", js_telnet_gate, 1, JSTYPE_VOID, JSDOCSTR("string address [,number mode]") - ,JSDOCSTR("external telnet gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> bits)") + {"telnet_gate", js_telnet_gate, 1, JSTYPE_VOID, JSDOCSTR("address [,mode=<tt>TG_NONE</tt>]") + ,JSDOCSTR("external telnet/rlogin gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> bits)") ,310 }, /* security */ @@ -2748,7 +2748,7 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("prompt for and verify system password") ,310 }, - {"good_password", js_chkpass, 1, JSTYPE_STRING, JSDOCSTR("string password") + {"good_password", js_chkpass, 1, JSTYPE_STRING, JSDOCSTR("password") ,JSDOCSTR("check if requested user password meets minimum password requirements " "(length, uniqueness, etc.)") ,310 @@ -2778,15 +2778,15 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("receive and display an inter-node message") ,310 }, - {"put_node_message",js_put_node_message,2, JSTYPE_BOOLEAN, JSDOCSTR("number node, string text") + {"put_node_message",js_put_node_message,2, JSTYPE_BOOLEAN, JSDOCSTR("node_number, text") ,JSDOCSTR("send an inter-node message") ,310 }, - {"get_telegram", js_get_telegram, 1, JSTYPE_VOID, JSDOCSTR("[number usernum]") - ,JSDOCSTR("receive and display a telegram") + {"get_telegram", js_get_telegram, 1, JSTYPE_VOID, JSDOCSTR("[user_number=<i>current</i>]") + ,JSDOCSTR("receive and display waiting telegrams for specified (or current) user") ,310 }, - {"put_telegram", js_put_telegram, 2, JSTYPE_BOOLEAN, JSDOCSTR("number user, string text") + {"put_telegram", js_put_telegram, 2, JSTYPE_BOOLEAN, JSDOCSTR("user_number, text") ,JSDOCSTR("send a telegram to a user") ,310 }, @@ -2803,7 +2803,7 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,310 }, /* misc */ - {"cmdstr", js_cmdstr, 1, JSTYPE_STRING, JSDOCSTR("string str [,string fpath] [,string fspec]") + {"cmdstr", js_cmdstr, 1, JSTYPE_STRING, JSDOCSTR("command_string [,string fpath=<tt>\"\"</tt>] [,string fspec=<tt>\"\"</tt>]") ,JSDOCSTR("return expanded command string using Synchronet command-line specifiers") ,310 }, @@ -2812,7 +2812,7 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("returns a file specification input by the user (optionally with wildcards)") ,310 }, - {"get_newscantime", js_getnstime, 1, JSTYPE_NUMBER, JSDOCSTR("number time") + {"get_newscantime", js_getnstime, 1, JSTYPE_NUMBER, JSDOCSTR("time=<i>current</i>") ,JSDOCSTR("confirm or change a new-scan time, returns the new new-scan time value (time_t format)") ,310 }, diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index d35387a27798bdc45bc9e1e3b74427fb7f32abd8..bf71ec89f5784e0ab1e9507f845f769db5d20a88 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -1664,8 +1664,8 @@ static char* file_prop_desc[] = { static jsSyncMethodSpec js_file_functions[] = { - {"open", js_open, 1, JSTYPE_BOOLEAN, JSDOCSTR("[string mode, boolean shareable, number buflen]") - ,JSDOCSTR("open file, <i>shareable</i> defaults to <i>false</i>, <i>buflen</i> defaults to 2048 bytes, " + {"open", js_open, 1, JSTYPE_BOOLEAN, JSDOCSTR("[mode=<tt>\"w+\"</tt>] [,shareable=<tt>false</tt>] [,buffer_length]") + ,JSDOCSTR("open file, <i>shareable</i> defaults to <i>false</i>, <i>buffer_length</i> defaults to 2048 bytes, " "mode (default: <tt>'w+'</tt>) specifies the type of access requested for the file, as follows:<br>" "<tt>r </tt> open for reading; if the file does not exist or cannot be found, the open call fails<br>" "<tt>w </tt> open an empty file for writing; if the given file exists, its contents are destroyed<br>" @@ -1683,67 +1683,67 @@ static jsSyncMethodSpec js_file_functions[] = { ) ,310 }, - {"close", js_close, 0, JSTYPE_VOID, "" + {"close", js_close, 0, JSTYPE_VOID, JSDOCSTR("") ,JSDOCSTR("close file") ,310 }, - {"remove", js_delete, 0, JSTYPE_BOOLEAN, "" + {"remove", js_delete, 0, JSTYPE_BOOLEAN, JSDOCSTR("") ,JSDOCSTR("remove the file from the disk") ,310 }, {"clearError", js_clear_error, 0, JSTYPE_ALIAS }, - {"clear_error", js_clear_error, 0, JSTYPE_BOOLEAN, "" + {"clear_error", js_clear_error, 0, JSTYPE_BOOLEAN, JSDOCSTR("") ,JSDOCSTR("clears the current error value (AKA clearError)") ,310 }, - {"flush", js_flush, 0, JSTYPE_BOOLEAN, "" + {"flush", js_flush, 0, JSTYPE_BOOLEAN, JSDOCSTR("") ,JSDOCSTR("flush/commit buffers to disk") ,310 }, - {"rewind", js_rewind, 0, JSTYPE_BOOLEAN, "" + {"rewind", js_rewind, 0, JSTYPE_BOOLEAN, JSDOCSTR("") ,JSDOCSTR("repositions the file pointer (<i>position</i>) to the beginning of a file " "and clears error and end-of-file indicators") ,311 }, - {"truncate", js_truncate, 0, JSTYPE_BOOLEAN, JSDOCSTR("[length]") + {"truncate", js_truncate, 0, JSTYPE_BOOLEAN, JSDOCSTR("[length=<tt>0</tt>]") ,JSDOCSTR("changes the file <i>length</i> (default: 0) and repositions the file pointer " "(<i>position</i>) to the new end-of-file") ,31301 }, - {"lock", js_lock, 2, JSTYPE_BOOLEAN, JSDOCSTR("[offset, length]") + {"lock", js_lock, 2, JSTYPE_BOOLEAN, JSDOCSTR("[offset=<tt>0</tt>] [,length=<i>file_length</i>-<i>offset</i>]") ,JSDOCSTR("lock file record for exclusive access (file must be opened <i>shareable</i>)") ,310 }, - {"unlock", js_unlock, 2, JSTYPE_BOOLEAN, JSDOCSTR("[offset, length]") + {"unlock", js_unlock, 2, JSTYPE_BOOLEAN, JSDOCSTR("[offset=<tt>0</tt>] [,length=<i>file_length</i>-<i>offset</i>]") ,JSDOCSTR("unlock file record for exclusive access") ,310 }, - {"read", js_read, 0, JSTYPE_STRING, JSDOCSTR("[maxlen]") + {"read", js_read, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<i>file_length</i>-<i>file_position</i>]") ,JSDOCSTR("read a string from file (optionally unix-to-unix or base64 decoding in the process), " "<i>maxlen</i> defaults to the current length of the file minus the current file position") ,310 }, - {"readln", js_readln, 0, JSTYPE_STRING, JSDOCSTR("[maxlen]") + {"readln", js_readln, 0, JSTYPE_STRING, JSDOCSTR("[maxlen=<tt>512</tt>]") ,JSDOCSTR("read a line-feed terminated string, <i>maxlen</i> defaults to 512 characters") ,310 }, - {"readBin", js_readbin, 0, JSTYPE_NUMBER, JSDOCSTR("[bytes]") + {"readBin", js_readbin, 0, JSTYPE_NUMBER, JSDOCSTR("[bytes=<tt>4</tt>]") ,JSDOCSTR("read a binary integer from the file, default number of <i>bytes</i> is 4 (32-bits)") ,310 }, - {"readAll", js_readall, 0, JSTYPE_ARRAY, "" + {"readAll", js_readall, 0, JSTYPE_ARRAY, JSDOCSTR("") ,JSDOCSTR("read all lines into an array of strings") ,310 }, - {"write", js_write, 1, JSTYPE_BOOLEAN, JSDOCSTR("string text [,len]") + {"write", js_write, 1, JSTYPE_BOOLEAN, JSDOCSTR("text [,length=<i>text_length</i>]") ,JSDOCSTR("write a string to the file (optionally unix-to-unix or base64 decoding in the process)") ,310 }, - {"writeln", js_writeln, 0, JSTYPE_BOOLEAN, JSDOCSTR("[string text]") + {"writeln", js_writeln, 0, JSTYPE_BOOLEAN, JSDOCSTR("[text]") ,JSDOCSTR("write a line-feed terminated string to the file") ,310 }, - {"writeBin", js_writebin, 1, JSTYPE_BOOLEAN, JSDOCSTR("value [,bytes]") + {"writeBin", js_writebin, 1, JSTYPE_BOOLEAN, JSDOCSTR("value [,bytes=<tt>4</tt>]") ,JSDOCSTR("write a binary integer to the file, default number of <i>bytes</i> is 4 (32-bits)") ,310 }, @@ -1751,24 +1751,24 @@ static jsSyncMethodSpec js_file_functions[] = { ,JSDOCSTR("write an array of strings to file") ,310 }, - {"printf", js_fprintf, 0, JSTYPE_NUMBER, JSDOCSTR("string format [,args]") + {"printf", js_fprintf, 0, JSTYPE_NUMBER, JSDOCSTR("format [,args]") ,JSDOCSTR("write a formatted string to the file (ala fprintf) - " "<small>CAUTION: for experienced C programmers ONLY</small>") ,310 }, - {"iniGetSections", js_iniGetSections, 0, JSTYPE_ARRAY, JSDOCSTR("[prefix]") + {"iniGetSections", js_iniGetSections, 0, JSTYPE_ARRAY, JSDOCSTR("[prefix=<i>none</i>]") ,JSDOCSTR("parse all section names from a <tt>.ini</tt> file (format = '<tt>[section]</tt>') " "and return the section names as an <i>array of strings</i>, " "optionally, only those section names that begin with the specified <i>prefix</i>") ,311 }, - {"iniGetKeys", js_iniGetKeys, 1, JSTYPE_ARRAY, JSDOCSTR("[section]") + {"iniGetKeys", js_iniGetKeys, 1, JSTYPE_ARRAY, JSDOCSTR("[section=<i>root</i>]") ,JSDOCSTR("parse all key names from the specified <i>section</i> in a <tt>.ini</tt> file " "and return the key names as an <i>array of strings</i>. " "if <i>section</i> is undefined, returns key names from the <i>root</i> section") ,311 }, - {"iniGetValue", js_iniGetValue, 3, JSTYPE_UNDEF, JSDOCSTR("section, key [,default]") + {"iniGetValue", js_iniGetValue, 3, JSTYPE_UNDEF, JSDOCSTR("section, key [,default=<i>none</i>]") ,JSDOCSTR("parse a key from a <tt>.ini</tt> file and return its value (format = '<tt>key = value</tt>'). " "returns the specified <i>default</i> value if the key or value is missing or invalid. " "to parse a key from the <i>root</i> section, pass <i>null</i> for <i>section</i>. " @@ -1776,13 +1776,13 @@ static jsSyncMethodSpec js_file_functions[] = { "determined by the type of <i>default</i> value specified") ,311 }, - {"iniSetValue", js_iniSetValue, 3, JSTYPE_BOOLEAN, JSDOCSTR("section, key, value") + {"iniSetValue", js_iniSetValue, 3, JSTYPE_BOOLEAN, JSDOCSTR("section, key, [value=<i>none</i>]") ,JSDOCSTR("set the specified <i>key</i> to the specified <i>value</i> in the specified <i>section</i> " "of a <tt>.ini</tt> file. " "to set a key in the <i>root</i> section, pass <i>null</i> for <i>section</i>. ") ,312 }, - {"iniGetObject", js_iniGetObject, 1, JSTYPE_OBJECT, JSDOCSTR("[section]") + {"iniGetObject", js_iniGetObject, 1, JSTYPE_OBJECT, JSDOCSTR("[section=<i>root</i>]") ,JSDOCSTR("parse an entire section from a .ini file " "and return all of its keys and values as properties of an object. " "if <i>section</i> is undefined, returns key and values from the <i>root</i> section") @@ -1794,7 +1794,7 @@ static jsSyncMethodSpec js_file_functions[] = { "to write an object in the <i>root</i> section, pass <i>null</i> for <i>section</i>. ") ,312 }, - {"iniGetAllObjects",js_iniGetAllObjects,1, JSTYPE_ARRAY, JSDOCSTR("[name_property] [,prefix]") + {"iniGetAllObjects",js_iniGetAllObjects,1, JSTYPE_ARRAY, JSDOCSTR("[name_property] [,prefix=<i>none</i>]") ,JSDOCSTR("parse all sections from a .ini file and return all (non-<i>root</i>) sections " "in an array of objects with each section's keys as properties of each object. " "<i>name_property</i> is the name of the property to create to contain the section's name " @@ -1803,7 +1803,7 @@ static jsSyncMethodSpec js_file_functions[] = { "if a <i>prefix</i> is specified, it is removed from each section's name" ) ,311 }, - {"iniSetAllObjects",js_iniSetAllObjects,1, JSTYPE_ARRAY, JSDOCSTR("object array [,name_property]") + {"iniSetAllObjects",js_iniSetAllObjects,1, JSTYPE_ARRAY, JSDOCSTR("object array [,name_property=<tt>\"name\"</tt>]") ,JSDOCSTR("write an array of objects to a .ini file, each object in its own section named " "after the object's <i>name_property</i> (default: <tt>name</tt>)") ,312 diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index c014dff4a120652e1d503f6cbcd4ec5ffc3d05d7..533364467599ac99653ec17bef59762ca29caa78 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -2566,30 +2566,31 @@ static jsSyncMethodSpec js_global_functions[] = { ,312 }, {"sleep", js_mswait, 0, JSTYPE_ALIAS }, - {"mswait", js_mswait, 0, JSTYPE_NUMBER, JSDOCSTR("[number milliseconds]") + {"mswait", js_mswait, 0, JSTYPE_NUMBER, JSDOCSTR("[milliseconds=<tt>1</tt>]") ,JSDOCSTR("millisecond wait/sleep routine (AKA sleep), returns number of elapsed clock ticks (in v3.13)") ,313 }, - {"yield", js_yield, 0, JSTYPE_VOID, JSDOCSTR("[bool forced]") + {"yield", js_yield, 0, JSTYPE_VOID, JSDOCSTR("[forced=<tt>true</tt>]") ,JSDOCSTR("release current thread time-slice, " "a <i>forced</i> yield will yield to all other pending tasks (lowering CPU utilization), " "a non-<i>forced</i> yield will yield only to pending tasks of equal or higher priority. " "<i>forced</i> defaults to <i>true</i>") ,311 }, - {"random", js_random, 1, JSTYPE_NUMBER, JSDOCSTR("number max") - ,JSDOCSTR("return random integer between 0 and max-1") + {"random", js_random, 1, JSTYPE_NUMBER, JSDOCSTR("max_number=<tt>100</tt>") + ,JSDOCSTR("return random integer between <tt>0</tt> and <i>max_number</i>-1") ,310 }, {"time", js_time, 0, JSTYPE_NUMBER, "" - ,JSDOCSTR("return current time in Unix (time_t) format (number of seconds since Jan-01-1970)") + ,JSDOCSTR("return current time and date in Unix (time_t) format " + "(number of seconds since Jan-01-1970)") ,310 }, - {"beep", js_beep, 0, JSTYPE_VOID, JSDOCSTR("[number freq, duration]") + {"beep", js_beep, 0, JSTYPE_VOID, JSDOCSTR("[frequency=<tt>500</tt>] [,duration=<tt>500</tt>]") ,JSDOCSTR("produce a tone on the local speaker at specified frequency for specified duration (in milliseconds)") ,310 }, - {"sound", js_sound, 0, JSTYPE_BOOLEAN, JSDOCSTR("[string filename]") + {"sound", js_sound, 0, JSTYPE_BOOLEAN, JSDOCSTR("[filename]") ,JSDOCSTR("play a waveform (.wav) sound file (currently, on Windows platforms only)") ,310 }, @@ -2601,72 +2602,72 @@ static jsSyncMethodSpec js_global_functions[] = { ,JSDOCSTR("convert single character to numeric ASCII value or vice-versa (returns number OR string)") ,310 }, - {"ascii_str", js_ascii_str, 1, JSTYPE_STRING, JSDOCSTR("string text") - ,JSDOCSTR("convert extended-ASCII in string to plain ASCII") + {"ascii_str", js_ascii_str, 1, JSTYPE_STRING, JSDOCSTR("text") + ,JSDOCSTR("convert extended-ASCII in text string to plain ASCII, returns modified string") ,310 }, - {"strip_ctrl", js_strip_ctrl, 1, JSTYPE_STRING, JSDOCSTR("string text") - ,JSDOCSTR("strip control characters from string") + {"strip_ctrl", js_strip_ctrl, 1, JSTYPE_STRING, JSDOCSTR("text") + ,JSDOCSTR("strip control characters from string, returns modified string") ,310 }, - {"strip_exascii", js_strip_exascii, 1, JSTYPE_STRING, JSDOCSTR("string text") - ,JSDOCSTR("strip extended-ASCII characters from string") + {"strip_exascii", js_strip_exascii, 1, JSTYPE_STRING, JSDOCSTR("text") + ,JSDOCSTR("strip extended-ASCII characters from string, returns modified string") ,310 }, - {"truncsp", js_truncsp, 1, JSTYPE_STRING, JSDOCSTR("string text") - ,JSDOCSTR("truncate (trim) white-space characters off end of string") + {"truncsp", js_truncsp, 1, JSTYPE_STRING, JSDOCSTR("text") + ,JSDOCSTR("truncate (trim) white-space characters off end of string, returns modified string") ,310 }, - {"truncstr", js_truncstr, 2, JSTYPE_STRING, JSDOCSTR("string text, charset") - ,JSDOCSTR("truncate (trim) string at first char in <i>charset</i>") + {"truncstr", js_truncstr, 2, JSTYPE_STRING, JSDOCSTR("text, charset") + ,JSDOCSTR("truncate (trim) string at first char in <i>charset</i>, returns modified string") ,310 }, - {"lfexpand", js_lfexpand, 1, JSTYPE_STRING, JSDOCSTR("string text") - ,JSDOCSTR("expand line-feeds (LF) to carriage-return/line-feeds (CRLF)") + {"lfexpand", js_lfexpand, 1, JSTYPE_STRING, JSDOCSTR("text") + ,JSDOCSTR("expand line-feeds (LF) to carriage-return/line-feeds (CRLF), returns modified string") ,310 }, - {"backslash", js_backslash, 1, JSTYPE_STRING, JSDOCSTR("string path") + {"backslash", js_backslash, 1, JSTYPE_STRING, JSDOCSTR("path") ,JSDOCSTR("returns directory path with trailing (platform-specific) path delimeter " "(i.e. \"slash\" or \"backslash\")") ,312 }, - {"file_getname", js_getfname, 1, JSTYPE_STRING, JSDOCSTR("string path") + {"file_getname", js_getfname, 1, JSTYPE_STRING, JSDOCSTR("path/filename") ,JSDOCSTR("returns filename portion of passed path string") ,311 }, - {"file_getext", js_getfext, 1, JSTYPE_STRING, JSDOCSTR("string path") + {"file_getext", js_getfext, 1, JSTYPE_STRING, JSDOCSTR("path/filename") ,JSDOCSTR("returns file extension portion of passed path/filename string (including '.') " "or <i>undefined</i> if no extension is found") ,311 }, - {"file_getcase", js_getfcase, 1, JSTYPE_STRING, JSDOCSTR("string filename") + {"file_getcase", js_getfcase, 1, JSTYPE_STRING, JSDOCSTR("path/filename") ,JSDOCSTR("returns correct case of filename (long version of filename on Win32) " "or <i>undefined</i> if the file doesn't exist") ,311 }, - {"file_cfgname", js_cfgfname, 2, JSTYPE_STRING, JSDOCSTR("string path, filename") + {"file_cfgname", js_cfgfname, 2, JSTYPE_STRING, JSDOCSTR("path, filename") ,JSDOCSTR("returns completed configuration filename from supplied <i>path</i> and <i>filename</i>, " "optionally including the local hostname (e.g. <tt>path/file.<i>host</i>.<i>domain</i>.ext</tt> " "or <tt>path/file.<i>host</i>.ext</tt>) if such a variation of the filename exists") ,312 }, - {"file_exists", js_fexist, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename") + {"file_exists", js_fexist, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") ,JSDOCSTR("verify a file's existence") ,310 }, - {"file_remove", js_remove, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename") + {"file_remove", js_remove, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") ,JSDOCSTR("delete a file") ,310 }, - {"file_rename", js_rename, 2, JSTYPE_BOOLEAN, JSDOCSTR("oldname, newname") + {"file_rename", js_rename, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/oldname, path/newname") ,JSDOCSTR("rename a file, possibly moving it to another directory in the process") ,311 }, - {"file_copy", js_fcopy, 2, JSTYPE_BOOLEAN, JSDOCSTR("source, destination") + {"file_copy", js_fcopy, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/source, path/destination") ,JSDOCSTR("copy a file from one directory or filename to another") ,311 }, - {"file_backup", js_backup, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename [,number level] [,bool rename]") + {"file_backup", js_backup, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename [,level=<tt>5</tt>] [,rename=<tt>false</tt>]") ,JSDOCSTR("backup the specified <i>filename</i> as <tt>filename.<i>number</i>.extension</tt> " "where <i>number</i> is the backup number 0 through <i>level</i>-1 " "(default backup <i>level</i> is 5), " @@ -2674,132 +2675,131 @@ static jsSyncMethodSpec js_global_functions[] = { "(default is <i>false</i>)") ,311 }, - {"file_isdir", js_isdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename") + {"file_isdir", js_isdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") ,JSDOCSTR("check if specified <i>filename</i> is a directory") ,310 }, - {"file_attrib", js_fattr, 1, JSTYPE_NUMBER, JSDOCSTR("string filename") + {"file_attrib", js_fattr, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") ,JSDOCSTR("get a file's permissions/attributes") ,310 }, - {"file_date", js_fdate, 1, JSTYPE_NUMBER, JSDOCSTR("string filename") + {"file_date", js_fdate, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") ,JSDOCSTR("get a file's last modified date/time (in time_t format)") ,310 }, - {"file_size", js_flength, 1, JSTYPE_NUMBER, JSDOCSTR("string filename") + {"file_size", js_flength, 1, JSTYPE_NUMBER, JSDOCSTR("path/filename") ,JSDOCSTR("get a file's length (in bytes)") ,310 }, - {"file_utime", js_utime, 3, JSTYPE_BOOLEAN, JSDOCSTR("string filename [,access_time] [,mod_time]") + {"file_utime", js_utime, 3, JSTYPE_BOOLEAN, JSDOCSTR("path/filename [,access_time=<i>current</i>] [,mod_time=<i>current</i>]") ,JSDOCSTR("change a file's last accessed and modification date/time (in time_t format), " "or change to current time") ,311 }, - {"file_touch", js_ftouch, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename") + {"file_touch", js_ftouch, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename") ,JSDOCSTR("updates a file's last modification date/time to current time, " "creating an empty file if it doesn't already exist") ,311 }, - {"file_mutex", js_fmutex, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename [,string text] [,number max_age]") - ,JSDOCSTR("attempts to create an exclusive (e.g. lock) file, " + {"file_mutex", js_fmutex, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/filename [,text=<i>local_hostname</i>] [,max_age=<tt>0</tt>]") + ,JSDOCSTR("attempts to create an mutual-exclusion (e.g. lock) file, " "optionally with the contents of <i>text</i>. " "If a non-zero <i>max_age</i> (supported in v3.13b+) is specified " "and the lock file exists, but is older than this value (in seconds), " "it is presumed stale and removed/over-written") ,312 }, - {"directory", js_directory, 1, JSTYPE_ARRAY, JSDOCSTR("string pattern [,flags]") + {"directory", js_directory, 1, JSTYPE_ARRAY, JSDOCSTR("path/pattern [,flags=<tt>GLOB_MARK</tt>]") ,JSDOCSTR("returns an array of directory entries, " "<i>pattern</i> is the path and filename or wildcards to search for (e.g. '/subdir/*.txt'), " "<i>flags</i> is a bitfield of optional <tt>glob</tt> flags (default is <tt>GLOB_MARK</tt>)") ,310 }, - {"dir_freespace", js_freediskspace, 2, JSTYPE_NUMBER, JSDOCSTR("string directory [,unit_size]") + {"dir_freespace", js_freediskspace, 2, JSTYPE_NUMBER, JSDOCSTR("directory [,unit_size=<tt>1</tt>]") ,JSDOCSTR("returns the amount of available disk space in the specified <i>directory</i> " "using the specified <i>unit_size</i> in bytes (default: 1), " "specify a <i>unit_size</i> of <tt>1024</tt> to return the available space in <i>kilobytes</i>.") ,311 }, - {"socket_select", js_socket_select, 0, JSTYPE_ARRAY, JSDOCSTR("[array of socket objects or descriptors] [,number timeout] [,bool write]") + {"socket_select", js_socket_select, 0, JSTYPE_ARRAY, JSDOCSTR("[array of socket objects or descriptors] [,timeout=<tt>0</tt>] [,write=<tt>false</tt>]") ,JSDOCSTR("checks an array of socket objects or descriptors for read or write ability (default is <i>read</i>), " "default timeout value is 0.0 seconds (immediate timeout), " "returns an array of 0-based index values into the socket array, representing the sockets that were ready for reading or writing") ,311 }, - {"mkdir", js_mkdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("string directory") + {"mkdir", js_mkdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/directory") ,JSDOCSTR("make a directory") ,310 }, - {"rmdir", js_rmdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("string directory") + {"rmdir", js_rmdir, 1, JSTYPE_BOOLEAN, JSDOCSTR("path/directory") ,JSDOCSTR("remove a directory") ,310 }, - {"strftime", js_strftime, 1, JSTYPE_STRING, JSDOCSTR("string format [,number time]") + {"strftime", js_strftime, 1, JSTYPE_STRING, JSDOCSTR("format [,time=<i>current</i>]") ,JSDOCSTR("return a formatted time string (ala C strftime)") ,310 }, - {"format", js_format, 1, JSTYPE_STRING, JSDOCSTR("string format [,args]") - ,JSDOCSTR("return a formatted string (ala sprintf) - " - "<small>CAUTION: for experienced C programmers ONLY</small>") + {"format", js_format, 1, JSTYPE_STRING, JSDOCSTR("format [,args]") + ,JSDOCSTR("return a formatted string (ala the standard C <tt>sprintf</tt> function)") ,310 }, - {"html_encode", js_html_encode, 1, JSTYPE_STRING, JSDOCSTR("string text [,bool ex_ascii] [,bool white_space] [,bool ansi] [,bool ctrl_a]") + {"html_encode", js_html_encode, 1, JSTYPE_STRING, JSDOCSTR("text [,ex_ascii=<tt>true</tt>] [,white_space=<tt>true</tt>] [,ansi=<tt>true</tt>] [,ctrl_a=<tt>true</tt>]") ,JSDOCSTR("return an HTML-encoded text string (using standard HTML character entities), " "escaping IBM extended-ASCII, white-space characters, ANSI codes, and CTRL-A codes by default") ,311 }, - {"html_decode", js_html_decode, 1, JSTYPE_STRING, JSDOCSTR("string text") + {"html_decode", js_html_decode, 1, JSTYPE_STRING, JSDOCSTR("html") ,JSDOCSTR("return a decoded HTML-encoded text string") ,311 }, - {"word_wrap", js_word_wrap, 1, JSTYPE_STRING, JSDOCSTR("string text [,line_length]") + {"word_wrap", js_word_wrap, 1, JSTYPE_STRING, JSDOCSTR("text [,line_length=<tt>79</tt>]") ,JSDOCSTR("returns a word-wrapped version of the text string argument, <i>line_length</i> defaults to <i>79</i>") ,311 }, - {"quote_msg", js_quote_msg, 1, JSTYPE_STRING, JSDOCSTR("string text [,line_length] [,prefix]") + {"quote_msg", js_quote_msg, 1, JSTYPE_STRING, JSDOCSTR("text [,line_length=<tt>79</tt>] [,prefix=<tt>\" > \"</tt>]") ,JSDOCSTR("returns a quoted version of the message text string argument, <i>line_length</i> defaults to <i>79</i>, " "<i>prefix</i> defaults to <tt>\" > \"</tt>") ,311 }, - {"rot13_translate", js_rot13, 1, JSTYPE_STRING, JSDOCSTR("string text") + {"rot13_translate", js_rot13, 1, JSTYPE_STRING, JSDOCSTR("text") ,JSDOCSTR("returns ROT13-translated version of text string (will encode or decode text)") ,311 }, - {"base64_encode", js_b64_encode, 1, JSTYPE_STRING, JSDOCSTR("string text") + {"base64_encode", js_b64_encode, 1, JSTYPE_STRING, JSDOCSTR("text") ,JSDOCSTR("returns base64-encoded version of text string or <i>null</i> on error") ,311 }, - {"base64_decode", js_b64_decode, 1, JSTYPE_STRING, JSDOCSTR("string text") + {"base64_decode", js_b64_decode, 1, JSTYPE_STRING, JSDOCSTR("text") ,JSDOCSTR("returns base64-decoded text string or <i>null</i> on error") ,311 }, - {"crc16_calc", js_crc16, 1, JSTYPE_NUMBER, JSDOCSTR("string text") + {"crc16_calc", js_crc16, 1, JSTYPE_NUMBER, JSDOCSTR("text") ,JSDOCSTR("calculate and return 16-bit CRC of text string") ,311 }, - {"crc32_calc", js_crc32, 1, JSTYPE_NUMBER, JSDOCSTR("string text") + {"crc32_calc", js_crc32, 1, JSTYPE_NUMBER, JSDOCSTR("text") ,JSDOCSTR("calculate and return 32-bit CRC of text string") ,311 }, - {"chksum_calc", js_chksum, 1, JSTYPE_NUMBER, JSDOCSTR("string text") + {"chksum_calc", js_chksum, 1, JSTYPE_NUMBER, JSDOCSTR("text") ,JSDOCSTR("calculate and return 32-bit checksum of text string") ,311 }, - {"md5_calc", js_md5_calc, 1, JSTYPE_STRING, JSDOCSTR("string text [,bool hex]") + {"md5_calc", js_md5_calc, 1, JSTYPE_STRING, JSDOCSTR("text [,hex=<tt>false</tt>]") ,JSDOCSTR("calculate and return 128-bit MD5 digest of text string, result encoded in base64 (default) or hexadecimal") ,311 }, {"gethostbyname", js_resolve_ip, 1, JSTYPE_ALIAS }, - {"resolve_ip", js_resolve_ip, 1, JSTYPE_STRING, JSDOCSTR("string hostname") + {"resolve_ip", js_resolve_ip, 1, JSTYPE_STRING, JSDOCSTR("hostname") ,JSDOCSTR("resolve IP address of specified hostname (AKA gethostbyname)") ,311 }, {"gethostbyaddr", js_resolve_host, 1, JSTYPE_ALIAS }, - {"resolve_host", js_resolve_host, 1, JSTYPE_STRING, JSDOCSTR("string ip_address") + {"resolve_host", js_resolve_host, 1, JSTYPE_STRING, JSDOCSTR("ip_address") ,JSDOCSTR("resolve hostname of specified IP address (AKA gethostbyaddr)") ,311 }, - {"netaddr_type", js_netaddr_type, 1, JSTYPE_NUMBER, JSDOCSTR("string email_address") + {"netaddr_type", js_netaddr_type, 1, JSTYPE_NUMBER, JSDOCSTR("email_address") ,JSDOCSTR("returns the proper message <i>net_type</i> for the specified <i>email_address</i>, " "(e.g. <tt>NET_INTERNET</tt> for Internet e-mail or <tt>NET_NONE</tt> for local e-mail)") ,312 @@ -2808,7 +2808,7 @@ static jsSyncMethodSpec js_global_functions[] = { ,JSDOCSTR("returns an array of <i>named queues</i> (created with the <i>Queue</i> constructor)") ,312 }, - {"flags_str", js_flags_str, 1, JSTYPE_UNDEF, JSDOCSTR("[string text] or [number value]") + {"flags_str", js_flags_str, 1, JSTYPE_UNDEF, JSDOCSTR("[string] or [number]") ,JSDOCSTR("convert a string of security flags (letters) into their numeric value or vice-versa " "(returns number OR string) - (added in v3.13)") ,313 diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c index 07f8caa6018774215ee17fab849a42fb16b2c2e3..dc563065c13ba02f9b4be9d4e4cf7a4ba235da65 100644 --- a/src/sbbs3/js_internal.c +++ b/src/sbbs3/js_internal.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2005 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -371,27 +371,27 @@ static JSClass js_internal_class = { }; static jsSyncMethodSpec js_functions[] = { - {"eval", js_eval, 0, JSTYPE_UNDEF, JSDOCSTR("string script") + {"eval", js_eval, 0, JSTYPE_UNDEF, JSDOCSTR("script") ,JSDOCSTR("evaluate a JavaScript string in its own (secure) context, returning the result") ,311 }, - {"gc", js_gc, 0, JSTYPE_VOID, JSDOCSTR("bool forced") + {"gc", js_gc, 0, JSTYPE_VOID, JSDOCSTR("forced=<tt>true</tt>") ,JSDOCSTR("perform a garbage collection operation (freeing memory for unused allocated objects), " "if <i>forced</i> is <i>true</i> (the default) a garbage collection is always performed, " "otherwise it is only performed if deemed appropriate by the JavaScript engine") ,311 }, - {"on_exit", js_on_exit, 1, JSTYPE_VOID, JSDOCSTR("string to_eval") - ,JSDOCSTR("add a string to evaluate/execute (LIFO) upon script's termination") + {"on_exit", js_on_exit, 1, JSTYPE_VOID, JSDOCSTR("to_eval") + ,JSDOCSTR("add a string to evaluate/execute (LIFO stack) upon script's termination") ,313 }, - {"report_error", js_report_error, 1, JSTYPE_VOID, JSDOCSTR("error [, bool fatal]") + {"report_error", js_report_error, 1, JSTYPE_VOID, JSDOCSTR("error [,fatal=<tt>false</tt>]") ,JSDOCSTR("report an error using the standard JavaScript error reporting mechanism " "(including script filename and line number), " "if <i>fatal</i> is <i>true</i>, immediately terminates script") ,313 }, - {"get_parent", js_get_parent, 1, JSTYPE_OBJECT, JSDOCSTR("object child") + {"get_parent", js_get_parent, 1, JSTYPE_OBJECT, JSDOCSTR("object") ,JSDOCSTR("return the parent of the specified object") ,313 }, diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c index 093b9de5afbcca3010bed05cadc40349fa1dec59..997379fb13d1f9bebaf1fae1e7ee6cbb0d079b29 100644 --- a/src/sbbs3/js_msgbase.c +++ b/src/sbbs3/js_msgbase.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2005 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -1668,29 +1668,29 @@ static jsSyncMethodSpec js_msgbase_functions[] = { ,JSDOCSTR("close message base (if open)") ,310 }, - {"get_msg_header", js_get_msg_header, 2, JSTYPE_OBJECT, JSDOCSTR("[boolean by_offset,] number_or_id [,boolean expand_fields]") + {"get_msg_header", js_get_msg_header, 2, JSTYPE_OBJECT, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_id [,expand_fields=<tt>true</tt>]") ,JSDOCSTR("returns a specific message header, <i>null</i> on failure. " "<br><i>New in v3.12:</i> Pass <i>false</i> for the <i>expand_fields</i> argument (default: <i>true</i>) " "if you will be re-writing the header later with <i>put_msg_header()</i>") ,312 }, - {"put_msg_header", js_put_msg_header, 2, JSTYPE_BOOLEAN, JSDOCSTR("[boolean by_offset,] number, object header") + {"put_msg_header", js_put_msg_header, 2, JSTYPE_BOOLEAN, JSDOCSTR("[by_offset=<tt>false</tt>,] number, object header") ,JSDOCSTR("write a message header") ,310 }, - {"get_msg_body", js_get_msg_body, 2, JSTYPE_STRING, JSDOCSTR("[boolean by_offset,] number_or_id [,boolean strip_ctrl_a] " - "[,boolean rfc822_encoded] [,boolean include_tails]") + {"get_msg_body", js_get_msg_body, 2, JSTYPE_STRING, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_id [,strip_ctrl_a=<tt>false</tt>] " + "[,rfc822_encoded=<tt>false</tt>] [,include_tails=<tt>true</tt>]") ,JSDOCSTR("returns the body text of a specific message, <i>null</i> on failure. " "The default behavior is to leave Ctrl-A codes intact, perform no RFC-822 encoding, and to include tails (if any) in the " "returned body text." ) ,310 }, - {"get_msg_tail", js_get_msg_tail, 2, JSTYPE_STRING, JSDOCSTR("[boolean by_offset,] number_or_id [,boolean strip_ctrl_a]") + {"get_msg_tail", js_get_msg_tail, 2, JSTYPE_STRING, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_id [,strip_ctrl_a]=<tt>false</tt>") ,JSDOCSTR("returns the tail text of a specific message, <i>null</i> on failure") ,310 }, - {"get_msg_index", js_get_msg_index, 2, JSTYPE_OBJECT, JSDOCSTR("[boolean by_offset,] number") + {"get_msg_index", js_get_msg_index, 2, JSTYPE_OBJECT, JSDOCSTR("[by_offset=<tt>false</tt>,] number") ,JSDOCSTR("returns a specific message index, <i>null</i> on failure. " "The index object will contain the following properties:<br>" "<table>" @@ -1704,11 +1704,11 @@ static jsSyncMethodSpec js_msgbase_functions[] = { "</table>") ,311 }, - {"remove_msg", js_remove_msg, 2, JSTYPE_BOOLEAN, JSDOCSTR("[boolean by_offset,] number_or_id") + {"remove_msg", js_remove_msg, 2, JSTYPE_BOOLEAN, JSDOCSTR("[by_offset=<tt>false</tt>,] number_or_id") ,JSDOCSTR("mark message for deletion") ,311 }, - {"save_msg", js_save_msg, 2, JSTYPE_BOOLEAN, JSDOCSTR("object header [,client] [,body_text] [,array rcpt_list]") + {"save_msg", js_save_msg, 2, JSTYPE_BOOLEAN, JSDOCSTR("object header [,client=<i>none</i>] [,body_text=<tt>\"\"</tt>] [,array rcpt_list=<i>none</i>]") ,JSDOCSTR("create a new message in message base, the <i>header</i> object may contain the following properties:<br>" "<table>" "<tr><td align=top><tt>subject</tt><td>Message subject <i>(required)</i>" diff --git a/src/sbbs3/js_queue.c b/src/sbbs3/js_queue.c index 375d02bdb43f534a7bc28d9839fdac05a4d2cccd..4bc05f67d3df031cf027028c659c490a793c332d 100644 --- a/src/sbbs3/js_queue.c +++ b/src/sbbs3/js_queue.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2005 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -388,24 +388,24 @@ static JSClass js_queue_class = { }; static jsSyncMethodSpec js_queue_functions[] = { - {"poll", js_poll, 1, JSTYPE_UNDEF, "[timeout]" + {"poll", js_poll, 1, JSTYPE_UNDEF, "[timeout=<tt>0</tt>]" ,JSDOCSTR("wait for any value to be written to the queue for up to <i>timeout</i> milliseconds " "(default: <i>0</i>), returns <i>true</i> or the <i>name</i> (string) of " "the value waiting (if it has one), or <i>false</i> if no values are waiting") ,312 }, - {"read", js_read, 1, JSTYPE_UNDEF, "[name or timeout]" + {"read", js_read, 1, JSTYPE_UNDEF, "[string name] or [timeout=<tt>0</tt>]" ,JSDOCSTR("read a value from the queue, if <i>name</i> not specified, reads next value " "from the bottom of the queue (waiting up to <i>timeout</i> milliseconds)") ,313 }, - {"peek", js_peek, 1, JSTYPE_UNDEF, "[timeout]" + {"peek", js_peek, 1, JSTYPE_UNDEF, "[timeout=<tt>0</tt>]" ,JSDOCSTR("peek at the value at the bottom of the queue, " "wait up to <i>timeout</i> milliseconds for any value to be written " "(default: <i>0</i>)") ,313 }, - {"write", js_write, 1, JSTYPE_BOOLEAN, "value [,name]" + {"write", js_write, 1, JSTYPE_BOOLEAN, "value [,name=<i>none</i>]" ,JSDOCSTR("write a value (optionally named) to the queue") ,312 }, diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c index 11fc5312b57ffe6f24be6f6366da74c86a09d2df..3dff73634979b7f250917e9b21ac3ad8cfd73d93 100644 --- a/src/sbbs3/js_system.c +++ b/src/sbbs3/js_system.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2005 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -1335,11 +1335,11 @@ static jsSyncMethodSpec js_system_functions[] = { ,JSDOCSTR("returns name of user in specified user record <i>number</i>, or empty string if not found") ,311 }, - {"alias", js_alias, 1, JSTYPE_STRING, JSDOCSTR("string alias") + {"alias", js_alias, 1, JSTYPE_STRING, JSDOCSTR("alias") ,JSDOCSTR("returns name of user that matches alias (if found in <tt>ctrl/alias.cfg</tt>)") ,310 }, - {"matchuser", js_matchuser, 1, JSTYPE_NUMBER, JSDOCSTR("string username [,bool sysop_alias]") + {"matchuser", js_matchuser, 1, JSTYPE_NUMBER, JSDOCSTR("username [,sysop_alias=<tt>true</tt>]") ,JSDOCSTR("exact user name matching, returns number of user whose name/alias matches <i>username</i> " " or 0 if not found, matches well-known sysop aliases by default") ,310 @@ -1349,24 +1349,24 @@ static jsSyncMethodSpec js_system_functions[] = { "returns first matching user record number, optional <i>usernumber</i> specifies user record to skip") ,310 }, - {"trashcan", js_trashcan, 2, JSTYPE_BOOLEAN, JSDOCSTR("string filename, search") + {"trashcan", js_trashcan, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/filename, find_string") ,JSDOCSTR("search text/filename.can for pseudo-regexp") ,310 }, - {"findstr", js_findstr, 2, JSTYPE_BOOLEAN, JSDOCSTR("string filename, search") + {"findstr", js_findstr, 2, JSTYPE_BOOLEAN, JSDOCSTR("path/filename, find_string") ,JSDOCSTR("search any file for pseudo-regexp") ,310 }, - {"zonestr", js_zonestr, 0, JSTYPE_STRING, JSDOCSTR("[timezone]") + {"zonestr", js_zonestr, 0, JSTYPE_STRING, JSDOCSTR("[timezone=<i>local</i>]") ,JSDOCSTR("convert time zone integer to string, defaults to system timezone if <i>timezone</i> not specified") ,310 }, - {"timestr", js_timestr, 0, JSTYPE_STRING, JSDOCSTR("[time]") + {"timestr", js_timestr, 0, JSTYPE_STRING, JSDOCSTR("[time=<i>current</i>]") ,JSDOCSTR("convert time_t integer into a time string, " "defaults to current time if <i>time</i> not specified") ,310 }, - {"datestr", js_datestr, 0, JSTYPE_STRING, JSDOCSTR("[time]") + {"datestr", js_datestr, 0, JSTYPE_STRING, JSDOCSTR("[time=<i>current</i>]") ,JSDOCSTR("convert time_t integer into a date string (in either <tt>MM/DD/YY</tt> or <tt>DD/MM/YY</tt> format), " "defaults to current date if <i>time</i> not specified") ,310 @@ -1387,19 +1387,19 @@ static jsSyncMethodSpec js_system_functions[] = { ,JSDOCSTR("add an IP address (with comment) to the system's IP filter file") ,311 }, - {"get_node_message",js_get_node_message,0, JSTYPE_STRING, JSDOCSTR("number node") + {"get_node_message",js_get_node_message,0, JSTYPE_STRING, JSDOCSTR("node_number") ,JSDOCSTR("read any messages waiting for the specified node and return in a single string") ,311 }, - {"put_node_message",js_put_node_message,2, JSTYPE_BOOLEAN, JSDOCSTR("number node, string message") + {"put_node_message",js_put_node_message,2, JSTYPE_BOOLEAN, JSDOCSTR("node_number, message_text") ,JSDOCSTR("send a node a short text message, delivered immediately") ,310 }, - {"get_telegram", js_get_telegram, 1, JSTYPE_STRING, JSDOCSTR("number user") + {"get_telegram", js_get_telegram, 1, JSTYPE_STRING, JSDOCSTR("user_number") ,JSDOCSTR("returns any short text messages waiting for the specified user") ,311 }, - {"put_telegram", js_put_telegram, 2, JSTYPE_BOOLEAN, JSDOCSTR("number user, string message") + {"put_telegram", js_put_telegram, 2, JSTYPE_BOOLEAN, JSDOCSTR("user_number, message_text") ,JSDOCSTR("sends a user a short text message, delivered immediately or during next logon") ,310 }, @@ -1417,7 +1417,7 @@ static jsSyncMethodSpec js_system_functions[] = { "(<b>only functional on UNIX systems</b>)") ,311 }, - {"check_syspass", js_chksyspass, 1, JSTYPE_BOOLEAN, JSDOCSTR("string password") + {"check_syspass", js_chksyspass, 1, JSTYPE_BOOLEAN, JSDOCSTR("password") ,JSDOCSTR("compares the supplied <i>password</i> against the system password and return's <i>true</i> if it matches") ,311 },