Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

wsstdlib.c File Reference

#include "wsint.h"

Include dependency graph for wsstdlib.c:

Include dependency graph

Go to the source code of this file.

Data Structures

struct  WsStdLibFuncRegRec
struct  WsStdLibRegRec

Defines

#define NF(f)   (sizeof(f) / sizeof(f[0]))

Typedefs

typedef WsStdLibFuncRegRec WsStdLibFuncReg
typedef WsStdLibRegRec WsStdLibReg

Functions

WsBool ws_stdlib_function (const char *library, const char *function, WsUInt16 *lindex_return, WsUInt8 *findex_return, WsUInt8 *num_args_return, WsBool *lindex_found_return, WsBool *findex_found_return)
WsBool ws_stdlib_function_name (WsUInt16 lindex, WsUInt8 findex, const char **library_return, const char **function_return)

Variables

WsStdLibFuncReg lib_lang_functions []
WsStdLibFuncReg lib_float_functions []
WsStdLibFuncReg lib_string_functions []
WsStdLibFuncReg lib_url_functions []
WsStdLibFuncReg lib_wmlbrowser_functions []
WsStdLibFuncReg lib_dialogs_functions []
WsStdLibFuncReg lib_crypto_functions []
WsStdLibFuncReg lib_efi_functions []
WsStdLibFuncReg lib_wtapublic_functions []
WsStdLibFuncReg lib_wtavoicecall_functions []
WsStdLibFuncReg lib_wtanettext_functions []
WsStdLibFuncReg lib_wtaphonebook_functions []
WsStdLibFuncReg lib_wtamisc_functions []
WsStdLibFuncReg lib_wtaansi136_functions []
WsStdLibFuncReg lib_wtagsm_functions []
WsStdLibFuncReg lib_wtacalllog_functions []
WsStdLibFuncReg lib_wtapdc_functions []
WsStdLibFuncReg lib_wtais95_functions []
WsStdLibReg libraries []


Define Documentation

#define NF  )     (sizeof(f) / sizeof(f[0]))
 

Definition at line 85 of file wsstdlib.c.


Typedef Documentation

typedef struct WsStdLibFuncRegRec WsStdLibFuncReg
 

Definition at line 99 of file wsstdlib.c.

typedef struct WsStdLibRegRec WsStdLibReg
 

Definition at line 115 of file wsstdlib.c.


Function Documentation

WsBool ws_stdlib_function const char *  library,
const char *  function,
WsUInt16 lindex_return,
WsUInt8 findex_return,
WsUInt8 num_args_return,
WsBool lindex_found_return,
WsBool findex_found_return
 

Definition at line 341 of file wsstdlib.c.

References WsStdLibFuncRegRec::function_id, WsStdLibRegRec::functions, libraries, WsStdLibRegRec::library_id, WsStdLibRegRec::name, name, WsStdLibFuncRegRec::num_args, WsStdLibRegRec::num_functions, WsBool, WsUInt16, and WsUInt8.

Referenced by ws_expr_linearize().

00345 {
00346     WsUInt16 l;
00347 
00348     *lindex_found_return = WS_FALSE;
00349     *findex_found_return = WS_FALSE;
00350 
00351     for (l = 0; libraries[l].name != NULL; l++) {
00352         if (strcmp(libraries[l].name, library) == 0) {
00353             WsUInt8 f;
00354 
00355             *lindex_return = libraries[l].library_id;
00356             *lindex_found_return = WS_TRUE;
00357 
00358             for (f = 0; f < libraries[l].num_functions; f++) {
00359                 if (strcmp(libraries[l].functions[f].name, function) == 0) {
00360                     *findex_return = libraries[l].functions[f].function_id;
00361                     *findex_found_return = WS_TRUE;
00362 
00363                     *num_args_return = libraries[l].functions[f].num_args;
00364 
00365                     return WS_TRUE;
00366                 }
00367         }
00368         }
00369     }
00370 
00371     return WS_FALSE;
00372 }

WsBool ws_stdlib_function_name WsUInt16  lindex,
WsUInt8  findex,
const char **  library_return,
const char **  function_return
 

Definition at line 375 of file wsstdlib.c.

References WsStdLibFuncRegRec::function_id, WsStdLibRegRec::functions, libraries, WsStdLibRegRec::library_id, WsStdLibRegRec::name, WsStdLibFuncRegRec::name, WsStdLibRegRec::num_functions, WsBool, WsUInt16, and WsUInt8.

00378 {
00379     WsUInt16 l;
00380     WsUInt8 f;
00381 
00382     *library_return = NULL;
00383     *function_return = NULL;
00384 
00385     for (l = 0; libraries[l].name != NULL; l++)
00386         if (libraries[l].library_id == lindex)
00387             for (f = 0; f < libraries[l].num_functions; f++) {
00388                 if (libraries[l].functions[f].function_id == findex) {
00389                     *library_return = libraries[l].name;
00390                     *function_return = libraries[l].functions[f].name;
00391                     return WS_TRUE;
00392                 }
00393             }
00394 
00395     return WS_FALSE;
00396 }


Variable Documentation

WsStdLibFuncReg lib_crypto_functions[] [static]
 

Initial value:

    {
        {"signText", 4, 16},
    }

Definition at line 206 of file wsstdlib.c.

WsStdLibFuncReg lib_dialogs_functions[] [static]
 

Initial value:

    {
        {"prompt", 2, 0},
        {"confirm", 3, 1},
        {"alert", 1, 2},
    }

Definition at line 199 of file wsstdlib.c.

WsStdLibFuncReg lib_efi_functions[] [static]
 

Initial value:

    {
        {"set", 3, 0},
        {"get", 2, 1},
        {"getFirstName", 1, 2},
        {"getNextName", 2, 3},
        {"getAllAttributes", 1, 4},
        {"getAttribute", 2, 5},
        {"getClassProperty", 2, 6},
        {"getUnits", 1, 7},
        {"query", 1, 8},
        {"invoke", 3, 9},
        {"call", 3, 10},
        {"status", 1, 11},
        {"control", 3, 12},
    }

Definition at line 211 of file wsstdlib.c.

WsStdLibFuncReg lib_float_functions[] [static]
 

Initial value:

    {
        {"int", 1, 0},
        {"floor", 1, 1},
        {"ceil", 1, 2},
        {"pow", 2, 3},
        {"round", 1, 4},
        {"sqrt", 1, 5},
        {"maxFloat", 0, 6},
        {"minFloat", 0, 7},
    }

Definition at line 138 of file wsstdlib.c.

WsStdLibFuncReg lib_lang_functions[] [static]
 

Initial value:

    {
        {"abs", 1, 0},
        {"min", 2, 1},
        {"max", 2, 2},
        {"parseInt", 1, 3},
        {"parseFloat", 1, 4},
        {"isInt", 1, 5},
        {"isFloat", 1, 6},
        {"maxInt", 0, 7},
        {"minInt", 0, 8},
        {"float", 0, 9},
        {"exit", 1, 10},
        {"abort", 1, 11},
        {"random", 1, 12},
        {"seed", 1, 13},
        {"characterSet", 0, 14},
    }

Definition at line 119 of file wsstdlib.c.

WsStdLibFuncReg lib_string_functions[] [static]
 

Initial value:

    {
        {"length", 1, 0},
        {"isEmpty", 1, 1},
        {"charAt", 2, 2},
        {"subString", 3, 3},
        {"find", 2, 4},
        {"replace", 3, 5},
        {"elements", 2, 6},
        {"elementAt", 3, 7},
        {"removeAt", 3, 8},
        {"replaceAt", 4, 9},
        {"insertAt", 4, 10},
        {"squeeze", 1, 11},
        {"trim", 1, 12},
        {"compare", 2, 13},
        {"toString", 1, 14},
        {"format", 2, 15},
    }

Definition at line 150 of file wsstdlib.c.

WsStdLibFuncReg lib_url_functions[] [static]
 

Initial value:

    {
        {"isValid", 1, 0},
        {"getScheme", 1, 1},
        {"getHost", 1, 2},
        {"getPort", 1, 3},
        {"getPath", 1, 4},
        {"getParameters", 1, 5},
        {"getQuery", 1, 6},
        {"getFragment", 1, 7},
        {"getBase", 0, 8},
        {"getReferer", 0, 9},
        {"resolve", 2, 10},
        {"escapeString", 1, 11},
        {"unescapeString", 1, 12},
        {"loadString", 2, 13},
    }

Definition at line 170 of file wsstdlib.c.

WsStdLibFuncReg lib_wmlbrowser_functions[] [static]
 

Initial value:

    {
        {"getVar", 1, 0},
        {"setVar", 2, 1},
        {"go", 1, 2},
        {"prev", 0, 3},
        {"newContext", 0, 4},
        {"getCurrentCard", 0, 5},
        {"refresh", 0, 6},
    }

Definition at line 188 of file wsstdlib.c.

WsStdLibFuncReg lib_wtaansi136_functions[] [static]
 

Initial value:

    {
        {"sendFlash", 2, 0},
        {"sendAlert", 2, 1},
    }

Definition at line 271 of file wsstdlib.c.

WsStdLibFuncReg lib_wtacalllog_functions[] [static]
 

Initial value:

    {
        {"dialled", 1, 0},
        {"missed", 1, 1},
        {"received", 1, 2},
        {"getFieldValue", 2, 3},
    }

Definition at line 291 of file wsstdlib.c.

WsStdLibFuncReg lib_wtagsm_functions[] [static]
 

Initial value:

    {
        {"hold", 1, 0},
        {"retrieve", 1, 1},
        {"transfer", 2, 2},
        {"deflect", 2, 3},
        {"multiparty", 0, 4},
        {"seperate", 1, 5},
        {"sendUSSD", 4, 6},
        {"netinfo", 1, 7},
        {"callWaiting", 1, 8},
        {"sendBusy", 1, 9},
    }

Definition at line 277 of file wsstdlib.c.

WsStdLibFuncReg lib_wtais95_functions[] [static]
 

Initial value:

    {
        {"sendText", 6, 0},
        {"cancelText", 1, 1},
        {"sendAck", 1, 2},
    }

Definition at line 309 of file wsstdlib.c.

WsStdLibFuncReg lib_wtamisc_functions[] [static]
 

Initial value:

    {
        {"setIndicator", 2, 0},
        {"endContext", 0, 1},
        {"getProtection", 0, 2},
        {"setProtection", 1, 3},
    }

Definition at line 263 of file wsstdlib.c.

WsStdLibFuncReg lib_wtanettext_functions[] [static]
 

Initial value:

    {
        {"send", 2, 0},
        {"list", 2, 1},
        {"remove", 1, 2},
        {"getFieldValue", 2, 3},
        {"markAsRead", 1, 4},
    }

Definition at line 245 of file wsstdlib.c.

WsStdLibFuncReg lib_wtapdc_functions[] [static]
 

Initial value:

    {
        {"hold", 1, 0},
        {"retrieve", 1, 1},
        {"transfer", 2, 2},
        {"deflect", 2, 3},
        {"multiparty", 0, 4},
        {"seperate", 1, 5},
    }

Definition at line 299 of file wsstdlib.c.

WsStdLibFuncReg lib_wtaphonebook_functions[] [static]
 

Initial value:

    {
        {"write", 3, 0},
        {"search", 2, 1},
        {"remove", 1, 2},
        {"getFieldValue", 2, 3},
        {"change", 3, 4},
    }

Definition at line 254 of file wsstdlib.c.

WsStdLibFuncReg lib_wtapublic_functions[] [static]
 

Initial value:

    {
        {"makeCall", 1, 0},
        {"sendDTMF", 1, 1},
        {"addPBEntry", 2, 2},
    }

Definition at line 228 of file wsstdlib.c.

WsStdLibFuncReg lib_wtavoicecall_functions[] [static]
 

Initial value:

    {
        {"setup", 2, 0},
        {"accept", 2, 1},
        {"release", 1, 2},
        {"sendDTMF", 2, 3},
        {"callStatus", 2, 4},
        {"list", 1, 5},
    }

Definition at line 235 of file wsstdlib.c.

WsStdLibReg libraries[] [static]
 

Initial value:

    {
        {"Lang", 0, NF(lib_lang_functions), lib_lang_functions},
        {"Float", 1, NF(lib_float_functions), lib_float_functions},
        {"String", 2, NF(lib_string_functions), lib_string_functions},
        {"URL", 3, NF(lib_url_functions), lib_url_functions},
        {"WMLBrowser", 4, NF(lib_wmlbrowser_functions), lib_wmlbrowser_functions},
        {"Dialogs", 5, NF(lib_dialogs_functions), lib_dialogs_functions},
        {"Crypto", 6, NF(lib_crypto_functions), lib_crypto_functions},
        {"EFI", 7, NF(lib_efi_functions), lib_efi_functions},
        {"WTAPublic", 512, NF(lib_wtapublic_functions), lib_wtapublic_functions},
        {"WTAVoiceCall", 513, NF(lib_wtavoicecall_functions), lib_wtavoicecall_functions},
        {"WTANetText", 514, NF(lib_wtanettext_functions), lib_wtanettext_functions},
        {"WTAPhoneBook", 515, NF(lib_wtaphonebook_functions), lib_wtaphonebook_functions},
        {"WTAMisc", 516, NF(lib_wtamisc_functions), lib_wtamisc_functions},
        {"WTAANSI163", 517, NF(lib_wtaansi136_functions), lib_wtaansi136_functions},
        {"WTAGSM", 518, NF(lib_wtagsm_functions), lib_wtagsm_functions},
        {"WTACallLog", 519, NF(lib_wtacalllog_functions), lib_wtacalllog_functions},
        {"WTAPDC", 520, NF(lib_wtapdc_functions), lib_wtapdc_functions},
        {"WTAIS95", 521, NF(lib_wtais95_functions), lib_wtais95_functions},
        {NULL, 0, 0, NULL}
    }

Definition at line 316 of file wsstdlib.c.

Referenced by ws_stdlib_function(), and ws_stdlib_function_name().

See file LICENSE for details about the license agreement for using, modifying, copying or deriving work from this software.