Main Page | Class List | Directories | File List | Class Members | File Members

slang.h File Reference

#include <stdio.h>
#include <stdarg.h>
#include <limits.h>

Go to the source code of this file.

Classes

struct  _pSLang_Name_Type
struct  SLang_Intrin_Fun_Type
struct  SLang_Intrin_Var_Type
struct  SLang_App_Unary_Type
struct  SLang_Math_Unary_Type
struct  SLang_HConstant_Type
struct  SLang_IConstant_Type
struct  SLang_LConstant_Type
struct  SLang_DConstant_Type
struct  SLang_FConstant_Type
struct  SLang_IStruct_Field_Type
struct  _pSLang_CStruct_Field_Type
struct  SLang_Load_Type
struct  _pSLang_Array_Type
struct  SLarray_Contract_Type
struct  SLarray_Map_Type
struct  SLKeymap_Function_Type
struct  SLang_Key_Type
struct  _pSLkeymap_Type
struct  SLsmg_Char_Type
struct  SLsmg_Term_Type
struct  _pSLscroll_Type
struct  SLscroll_Window_Type
struct  SLcmd_Cmd_Table_Type
struct  _pSLcmd_Cmd_Type

Defines

#define SLANG_VERSION   20006
#define SLANG_VERSION_STRING   "2.0.6"
#define SLANG_SIZEOF_SHORT   2
#define SLANG_SIZEOF_INT   4
#define SLANG_SIZEOF_LONG   4
#define SLANG_SIZEOF_FLOAT   4
#define SLANG_SIZEOF_DOUBLE   8
#define SLATTRIBUTE_(x)
#define SLATTRIBUTE_PRINTF(a, b)   SLATTRIBUTE_((format(printf,a,b)))
#define SLCONST
#define SLFREE(x)   free((char *)(x))
#define SLMALLOC   malloc
#define SLREALLOC   realloc
#define SLCALLOC   calloc
#define SL_EXPORT
#define SL_IMPORT
#define SL_EXTERN   extern SL_IMPORT
#define SLANG_WCHAR_TYPE   SLANG_UINT_TYPE
#define SLUTF8_MAX_MBLEN   6
#define SLANG_LVARIABLE   0x01
#define SLANG_GVARIABLE   0x02
#define SLANG_IVARIABLE   0x03
#define SLANG_RVARIABLE   0x04
#define SLANG_INTRINSIC   0x05
#define SLANG_FUNCTION   0x06
#define SLANG_MATH_UNARY   0x07
#define SLANG_APP_UNARY   0x08
#define SLANG_ARITH_UNARY   0x09
#define SLANG_ARITH_BINARY   0x0A
#define SLANG_ICONSTANT   0x0B
#define SLANG_DCONSTANT   0x0C
#define SLANG_FCONSTANT   0x0D
#define SLANG_LLCONSTANT   0x0E
#define SLANG_PVARIABLE   0x0F
#define SLANG_PFUNCTION   0x10
#define SLANG_HCONSTANT   0x11
#define SLANG_LCONSTANT   0x12
#define SLANG_MAX_INTRIN_ARGS   7
#define _PROTO(x)   x
#define SLANG_CLASS_TYPE_MMT   0
#define SLANG_CLASS_TYPE_SCALAR   1
#define SLANG_CLASS_TYPE_VECTOR   2
#define SLANG_CLASS_TYPE_PTR   3
#define SLMATH_SIN   1
#define SLMATH_COS   2
#define SLMATH_TAN   3
#define SLMATH_ATAN   4
#define SLMATH_ASIN   5
#define SLMATH_ACOS   6
#define SLMATH_EXP   7
#define SLMATH_LOG   8
#define SLMATH_SQRT   9
#define SLMATH_LOG10   10
#define SLMATH_REAL   11
#define SLMATH_IMAG   12
#define SLMATH_SINH   13
#define SLMATH_COSH   14
#define SLMATH_TANH   15
#define SLMATH_ATANH   16
#define SLMATH_ASINH   17
#define SLMATH_ACOSH   18
#define SLMATH_TODOUBLE   19
#define SLMATH_CONJ   20
#define SLMATH_ISINF   21
#define SLMATH_ISNAN   22
#define SLMATH_FLOOR   23
#define SLMATH_CEIL   24
#define SLMATH_ROUND   25
#define SLARRAY_MAX_DIMS   7
#define SLANG_ARRAY_INDEX_TYPE   SLANG_INT_TYPE
#define SLARR_DATA_VALUE_IS_READ_ONLY   1
#define SLARR_DATA_VALUE_IS_POINTER   2
#define SLARR_DATA_VALUE_IS_RANGE   4
#define SLARR_DATA_VALUE_IS_INTRINSIC   8
#define USER_BREAK   SL_UserBreak_Error
#define INTRINSIC_ERROR   SL_RunTime_Error
#define SL_OBJ_NOPEN   SL_Open_Error
#define SL_UNKNOWN_ERROR   SL_Unknown_Error
#define SL_APPLICATION_ERROR   SL_Application_Error
#define SL_INTERNAL_ERROR   SL_Internal_Error
#define SL_INTRINSIC_ERROR   SL_RunTime_Error
#define SL_NOT_IMPLEMENTED   SL_NotImplemented_Error
#define SL_BUILTIN_LIMIT_EXCEEDED   SL_LimitExceeded_Error
#define SL_MALLOC_ERROR   SL_Malloc_Error
#define SL_USER_BREAK   SL_UserBreak_Error
#define SL_IO_WRITE_ERROR   SL_Write_Error
#define SL_IO_READ_ERROR   SL_Read_Error
#define SL_IO_OPEN_ERROR   SL_Open_Error
#define SL_SYNTAX_ERROR   SL_Syntax_Error
#define SL_STACK_OVERFLOW   SL_StackOverflow_Error
#define SL_STACK_UNDERFLOW   SL_StackUnderflow_Error
#define SL_TYPE_MISMATCH   SL_TypeMismatch_Error
#define SL_READONLY_ERROR   SL_ReadOnly_Error
#define SL_VARIABLE_UNINITIALIZED   SL_VariableUninitialized_Error
#define SL_DUPLICATE_DEFINITION   SL_DuplicateDefinition_Error
#define SL_INVALID_PARM   SL_InvalidParm_Error
#define SL_UNDEFINED_NAME   SL_UndefinedName_Error
#define SL_NUM_ARGS_ERROR   SL_NumArgs_Error
#define SL_INDEX_ERROR   SL_Index_Error
#define SL_DIVIDE_ERROR   SL_DivideByZero_Error
#define SL_MATH_ERROR   SL_Math_Error
#define SL_ARITH_OVERFLOW_ERROR   SL_ArithOverflow_Error
#define SL_ARITH_UNDERFLOW_ERROR   SL_ArithUnderflow_Error
#define SL_USAGE_ERROR   SL_Usage_Error
#define SL_INVALID_DATA_ERROR   SL_Data_Error
#define SL_UNICODE_ERROR   SL_Unicode_Error
#define SL_INVALID_UTF8   SL_InvalidUTF8_Error
#define SLang_push_integer   SLang_push_int
#define SLang_push_uinteger   SLang_push_uint
#define SLang_pop_integer   SLang_pop_int
#define SLang_pop_uinteger   SLang_pop_uint
#define SLANG_GETKEY_ERROR   0xFFFF
#define SLANG_MAX_KEYMAP_KEY_SEQ   14
#define SLKEY_F_INTERPRET   0x01
#define SLKEY_F_INTRINSIC   0x02
#define SLKEY_F_KEYSYM   0x03
#define SLKEY_F_SLANG   0x04
#define SL_RLINE_NO_ECHO   1
#define SL_RLINE_USE_ANSI   2
#define SL_RLINE_BLINK_MATCH   4
#define SL_RLINE_UTF8_MODE   8
#define SLTT_BOLD_MASK   0x01000000UL
#define SLTT_BLINK_MASK   0x02000000UL
#define SLTT_ULINE_MASK   0x04000000UL
#define SLTT_REV_MASK   0x08000000UL
#define SLTT_ALTC_MASK   0x10000000UL
#define SLSMG_MAX_COLORS   0x7FFE
#define SLSMG_COLOR_MASK   0x7FFF
#define SLSMG_ACS_MASK   0x8000
#define SLSMG_MAX_CHARS_PER_CELL   5
#define SLSMG_EXTRACT_COLOR(x)   ((x).color)
#define SLSMG_EXTRACT_CHAR(x)   ((x).wchars[0])
#define SLPREP_BLANK_LINES_OK   0x1
#define SLPREP_COMMENT_LINES_OK   0x2
#define SLSMG_NEWLINE_IGNORED   0
#define SLSMG_NEWLINE_MOVES   1
#define SLSMG_NEWLINE_SCROLLS   2
#define SLSMG_NEWLINE_PRINTABLE   3
#define SLSMG_HLINE_CHAR   ((unsigned char)'q')
#define SLSMG_VLINE_CHAR   ((unsigned char)'x')
#define SLSMG_ULCORN_CHAR   ((unsigned char)'l')
#define SLSMG_URCORN_CHAR   ((unsigned char)'k')
#define SLSMG_LLCORN_CHAR   ((unsigned char)'m')
#define SLSMG_LRCORN_CHAR   ((unsigned char)'j')
#define SLSMG_CKBRD_CHAR   ((unsigned char)'a')
#define SLSMG_RTEE_CHAR   ((unsigned char)'u')
#define SLSMG_LTEE_CHAR   ((unsigned char)'t')
#define SLSMG_UTEE_CHAR   ((unsigned char)'w')
#define SLSMG_DTEE_CHAR   ((unsigned char)'v')
#define SLSMG_PLUS_CHAR   ((unsigned char)'n')
#define SLSMG_DIAMOND_CHAR   ((unsigned char)'`')
#define SLSMG_DEGREE_CHAR   ((unsigned char)'f')
#define SLSMG_PLMINUS_CHAR   ((unsigned char)'g')
#define SLSMG_BULLET_CHAR   ((unsigned char)'~')
#define SLSMG_LARROW_CHAR   ((unsigned char)',')
#define SLSMG_RARROW_CHAR   ((unsigned char)'+')
#define SLSMG_DARROW_CHAR   ((unsigned char)'.')
#define SLSMG_UARROW_CHAR   ((unsigned char)'-')
#define SLSMG_BOARD_CHAR   ((unsigned char)'h')
#define SLSMG_BLOCK_CHAR   ((unsigned char)'0')
#define SLSMG_COLOR_BLACK   0x000000
#define SLSMG_COLOR_RED   0x000001
#define SLSMG_COLOR_GREEN   0x000002
#define SLSMG_COLOR_BROWN   0x000003
#define SLSMG_COLOR_BLUE   0x000004
#define SLSMG_COLOR_MAGENTA   0x000005
#define SLSMG_COLOR_CYAN   0x000006
#define SLSMG_COLOR_LGRAY   0x000007
#define SLSMG_COLOR_GRAY   0x000008
#define SLSMG_COLOR_BRIGHT_RED   0x000009
#define SLSMG_COLOR_BRIGHT_GREEN   0x00000A
#define SLSMG_COLOR_BRIGHT_BROWN   0x00000B
#define SLSMG_COLOR_BRIGHT_BLUE   0x00000C
#define SLSMG_COLOR_BRIGHT_CYAN   0x00000D
#define SLSMG_COLOR_BRIGHT_MAGENTA   0x00000E
#define SLSMG_COLOR_BRIGHT_WHITE   0x00000F
#define SL_KEY_ERR   0xFFFF
#define SL_KEY_UP   0x101
#define SL_KEY_DOWN   0x102
#define SL_KEY_LEFT   0x103
#define SL_KEY_RIGHT   0x104
#define SL_KEY_PPAGE   0x105
#define SL_KEY_NPAGE   0x106
#define SL_KEY_HOME   0x107
#define SL_KEY_END   0x108
#define SL_KEY_A1   0x109
#define SL_KEY_A3   0x10A
#define SL_KEY_B2   0x10B
#define SL_KEY_C1   0x10C
#define SL_KEY_C3   0x10D
#define SL_KEY_REDO   0x10E
#define SL_KEY_UNDO   0x10F
#define SL_KEY_BACKSPACE   0x110
#define SL_KEY_ENTER   0x111
#define SL_KEY_IC   0x112
#define SL_KEY_DELETE   0x113
#define SL_KEY_F0   0x200
#define SL_KEY_F(X)   (SL_KEY_F0 + X)
#define SL_FE_DIVBYZERO   0x01
#define SL_FE_INVALID   0x02
#define SL_FE_OVERFLOW   0x04
#define SL_FE_UNDERFLOW   0x08
#define SL_FE_INEXACT   0x10
#define SL_FE_ALLEXCEPT   0x1F
#define SLANG_UNDEFINED_TYPE   0x00
#define SLANG_VOID_TYPE   0x01
#define SLANG_NULL_TYPE   (0x02)
#define SLANG_ANY_TYPE   (0x03)
#define SLANG_DATATYPE_TYPE   (0x04)
#define SLANG_REF_TYPE   (0x05)
#define SLANG_STRING_TYPE   (0x06)
#define SLANG_BSTRING_TYPE   (0x07)
#define SLANG_FILE_PTR_TYPE   (0x08)
#define SLANG_FILE_FD_TYPE   (0x09)
#define SLANG_MD5_TYPE   (0x0A)
#define SLANG_INTP_TYPE   (0x0F)
#define SLANG_CHAR_TYPE   (0x10)
#define SLANG_UCHAR_TYPE   (0x11)
#define SLANG_SHORT_TYPE   (0x12)
#define SLANG_USHORT_TYPE   (0x13)
#define SLANG_INT_TYPE   (0x14)
#define SLANG_UINT_TYPE   (0x15)
#define SLANG_LONG_TYPE   (0x16)
#define SLANG_ULONG_TYPE   (0x17)
#define SLANG_LLONG_TYPE   (0x18)
#define SLANG_ULLONG_TYPE   (0x19)
#define SLANG_FLOAT_TYPE   (0x1A)
#define SLANG_DOUBLE_TYPE   (0x1B)
#define SLANG_LDOUBLE_TYPE   (0x1C)
#define SLANG_COMPLEX_TYPE   (0x20)
#define SLANG_ISTRUCT_TYPE   (0x2A)
#define SLANG_STRUCT_TYPE   (0x2B)
#define SLANG_ASSOC_TYPE   (0x2C)
#define SLANG_ARRAY_TYPE   (0x2D)
#define SLANG_LIST_TYPE   (0x2E)
#define SLANG_MIN_UNUSED_TYPE   (0x30)
#define VOID_TYPE   SLANG_VOID_TYPE
#define INT_TYPE   SLANG_INT_TYPE
#define INTP_TYPE   SLANG_INTP_TYPE
#define FLOAT_TYPE   SLANG_DOUBLE_TYPE
#define ARRAY_TYPE   SLANG_ARRAY_TYPE
#define CHAR_TYPE   SLANG_CHAR_TYPE
#define STRING_TYPE   SLANG_STRING_TYPE
#define SLANG_BINARY_OP_MIN   0x01
#define SLANG_PLUS   0x01
#define SLANG_MINUS   0x02
#define SLANG_TIMES   0x03
#define SLANG_DIVIDE   0x04
#define SLANG_EQ   0x05
#define SLANG_NE   0x06
#define SLANG_GT   0x07
#define SLANG_GE   0x08
#define SLANG_LT   0x09
#define SLANG_LE   0x0A
#define SLANG_POW   0x0B
#define SLANG_OR   0x0C
#define SLANG_AND   0x0D
#define SLANG_BAND   0x0E
#define SLANG_BOR   0x0F
#define SLANG_BXOR   0x10
#define SLANG_SHL   0x11
#define SLANG_SHR   0x12
#define SLANG_MOD   0x13
#define SLANG_BINARY_OP_MAX   0x13
#define SLANG_UNARY_OP_MIN   0x20
#define SLANG_PLUSPLUS   0x20
#define SLANG_MINUSMINUS   0x21
#define SLANG_CHS   0x22
#define SLANG_NOT   0x23
#define SLANG_BNOT   0x24
#define SLANG_ABS   0x25
#define SLANG_SIGN   0x26
#define SLANG_SQR   0x27
#define SLANG_MUL2   0x28
#define SLANG_ISPOS   0x29
#define SLANG_ISNEG   0x2A
#define SLANG_ISNONNEG   0x2B
#define SLANG_UNARY_OP_MAX   0x2B
#define MAKE_INTRINSIC_N(n, f, out, in, a1, a2, a3, a4, a5, a6, a7)
#define MAKE_INTRINSIC_7(n, f, out, a1, a2, a3, a4, a5, a6, a7)   MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7)
#define MAKE_INTRINSIC_6(n, f, out, a1, a2, a3, a4, a5, a6)   MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0)
#define MAKE_INTRINSIC_5(n, f, out, a1, a2, a3, a4, a5)   MAKE_INTRINSIC_N(n,f,out,5,a1,a2,a3,a4,a5,0,0)
#define MAKE_INTRINSIC_4(n, f, out, a1, a2, a3, a4)   MAKE_INTRINSIC_N(n,f,out,4,a1,a2,a3,a4,0,0,0)
#define MAKE_INTRINSIC_3(n, f, out, a1, a2, a3)   MAKE_INTRINSIC_N(n,f,out,3,a1,a2,a3,0,0,0,0)
#define MAKE_INTRINSIC_2(n, f, out, a1, a2)   MAKE_INTRINSIC_N(n,f,out,2,a1,a2,0,0,0,0,0)
#define MAKE_INTRINSIC_1(n, f, out, a1)   MAKE_INTRINSIC_N(n,f,out,1,a1,0,0,0,0,0,0)
#define MAKE_INTRINSIC_0(n, f, out)   MAKE_INTRINSIC_N(n,f,out,0,0,0,0,0,0,0,0)
#define MAKE_INTRINSIC_S(n, f, r)   MAKE_INTRINSIC_1(n,f,r,SLANG_STRING_TYPE)
#define MAKE_INTRINSIC_I(n, f, r)   MAKE_INTRINSIC_1(n,f,r,SLANG_INT_TYPE)
#define MAKE_INTRINSIC_SS(n, f, r)   MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
#define MAKE_INTRINSIC_SI(n, f, r)   MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE)
#define MAKE_INTRINSIC_IS(n, f, r)   MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE)
#define MAKE_INTRINSIC_II(n, f, r)   MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE)
#define MAKE_INTRINSIC_SSS(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
#define MAKE_INTRINSIC_SSI(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
#define MAKE_INTRINSIC_SIS(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
#define MAKE_INTRINSIC_SII(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
#define MAKE_INTRINSIC_ISS(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
#define MAKE_INTRINSIC_ISI(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
#define MAKE_INTRINSIC_IIS(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
#define MAKE_INTRINSIC_III(n, f, r)   MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
#define MAKE_INTRINSIC(n, f, out, in)   MAKE_INTRINSIC_N(n,f,out,in,0,0,0,0,0,0,0)
#define MAKE_VARIABLE(n, v, t, r)   {n, NULL, SLANG_IVARIABLE + (r), (VOID_STAR)(v), (t)}
#define MAKE_APP_UNARY(n, op)   {(n), NULL, SLANG_APP_UNARY, (op)}
#define MAKE_ARITH_UNARY(n, op)   {(n), NULL, SLANG_ARITH_UNARY, (op)}
#define MAKE_ARITH_BINARY(n, op)   {(n), NULL, SLANG_ARITH_BINARY, (op)}
#define MAKE_MATH_UNARY(n, op)   {(n), NULL, SLANG_MATH_UNARY, (op)}
#define MAKE_HCONSTANT_T(n, val, T)   {(n),NULL, SLANG_HCONSTANT, T, (short)(val)}
#define MAKE_HCONSTANT(n, val)   MAKE_HCONSTANT_T(n,val,SLANG_SHORT_TYPE)
#define MAKE_ICONSTANT_T(n, val, T)   {(n),NULL, SLANG_ICONSTANT, T, (int)(val)}
#define MAKE_ICONSTANT(n, val)   MAKE_ICONSTANT_T(n,val,SLANG_INT_TYPE)
#define MAKE_LCONSTANT_T(n, val, T)   {(n),NULL, SLANG_LCONSTANT, T, (int)(val)}
#define MAKE_LCONSTANT(n, val)   MAKE_LCONSTANT_T(n,val,SLANG_LONG_TYPE)
#define MAKE_FCONSTANT(n, val)   {(n),NULL, SLANG_FCONSTANT, (val)}
#define MAKE_DCONSTANT(n, val)   {(n),NULL, SLANG_DCONSTANT, (val)}
#define offsetof(T, F)   ((unsigned int)((char *)&((T *)0L)->F - (char *)0L))
#define MAKE_ISTRUCT_FIELD(s, f, n, t, r)   {(n), offsetof(s,f), (t), (r)}
#define MAKE_CSTRUCT_FIELD(s, f, n, t, r)   {(n), offsetof(s,f), (t), (r)}
#define MAKE_CSTRUCT_INT_FIELD(s, f, n, r)
#define MAKE_CSTRUCT_UINT_FIELD(s, f, n, r)
#define SLANG_END_TABLE   {NULL}
#define SLANG_END_INTRIN_FUN_TABLE   MAKE_INTRINSIC_0(NULL,NULL,0)
#define SLANG_END_FCONST_TABLE   MAKE_DCONSTANT(NULL,0)
#define SLANG_END_DCONST_TABLE   MAKE_DCONSTANT(NULL,0)
#define SLANG_END_MATH_UNARY_TABLE   MAKE_MATH_UNARY(NULL,0)
#define SLANG_END_ARITH_UNARY_TABLE   MAKE_ARITH_UNARY(NULL,0)
#define SLANG_END_ARITH_BINARY_TABLE   MAKE_ARITH_BINARY(NULL,0)
#define SLANG_END_APP_UNARY_TABLE   MAKE_APP_UNARY(NULL,0)
#define SLANG_END_INTRIN_VAR_TABLE   MAKE_VARIABLE(NULL,NULL,0,0)
#define SLANG_END_ICONST_TABLE   MAKE_ICONSTANT(NULL,0)
#define SLANG_END_LLCONST_TABLE   MAKE_LLCONSTANT(NULL,0)
#define SLANG_END_ISTRUCT_TABLE   {NULL, 0, 0, 0}
#define SLANG_END_CSTRUCT_TABLE   {NULL, 0, 0, 0}
#define UPPER_CASE(x)   (_pSLChg_UCase_Lut[(unsigned char) (x)])
#define LOWER_CASE(x)   (_pSLChg_LCase_Lut[(unsigned char) (x)])
#define CHANGE_CASE(x)
#define SLREGEXP_CASELESS   0x01
#define SLREGEXP_UTF8   0x10
#define SLREGEXP_HINT_BOL   0x01
#define SLREGEXP_HINT_OSEARCH   0x02
#define SLSEARCH_CASELESS   0x1
#define SLSEARCH_UTF8   0x2
#define SLANG_MODULE(name)

Typedefs

typedef unsigned char * VOID_STAR
typedef int(* FVOID_STAR )(void)
typedef char SLstr_Type
typedef unsigned int SLwchar_Type
typedef unsigned char SLuchar_Type
typedef SLwchar_Lut_Type SLwchar_Lut_Type
typedef SLwchar_Map_Type SLwchar_Map_Type
typedef unsigned int SLtype
typedef _pSLang_Name_Type SLang_Name_Type
typedef SLCONST struct _pSLang_CStruct_Field_Type SLang_CStruct_Field_Type
typedef _pSLang_NameSpace_Type SLang_NameSpace_Type
typedef SLang_Load_Type SLang_Load_Type
typedef _pSLang_Foreach_Context_Type SLang_Foreach_Context_Type
typedef _pSLang_Class_Type SLang_Class_Type
typedef int SLclass_Type
typedef int SLang_MMT_Type
typedef int SLindex_Type
typedef unsigned int SLuindex_Type
typedef int SLarray_Contract_Fun_Type (VOID_STAR xp, unsigned int increment, unsigned int num, VOID_STAR yp)
typedef int SLarray_Map_Fun_Type (SLtype xtype, VOID_STAR xp, unsigned int increment, unsigned int num, SLtype ytype, VOID_STAR yp, VOID_STAR clientdata)
typedef _pSLFile_FD_Type SLFile_FD_Type
typedef double(* SLang_To_Double_Fun_Type )(VOID_STAR)
typedef SLKeymap_Function_Type SLKeymap_Function_Type
typedef SLang_Key_Type SLang_Key_Type
typedef _pSLkeymap_Type SLkeymap_Type
typedef SLkeymap_Type SLKeyMap_List_Type
typedef _pSLrline_Type SLrline_Type
typedef SLrline_Type SLang_RLine_Info_Type
typedef unsigned long SLtt_Char_Type
typedef unsigned short SLsmg_Color_Type
typedef _pSLprep_Type SLprep_Type
typedef _pSLscroll_Type SLscroll_Type
typedef void SLSig_Fun_Type (int)
typedef _pSLRegexp_Type SLRegexp_Type
typedef _pSLcmd_Cmd_Type SLcmd_Cmd_Type
typedef _pSLsearch_Type SLsearch_Type

Functions

SL_EXTERN char * SLdebug_malloc (unsigned long)
SL_EXTERN char * SLdebug_calloc (unsigned long, unsigned long)
SL_EXTERN char * SLdebug_realloc (char *, unsigned long)
SL_EXTERN void SLdebug_free (char *)
SL_EXTERN void SLmalloc_dump_statistics (void)
SL_EXTERN char * SLstrcpy (register char *, register char *)
SL_EXTERN int SLstrcmp (register char *, register char *)
SL_EXTERN char * SLstrncpy (char *, register char *, register int)
SL_EXTERN void SLmemset (char *, char, int)
SL_EXTERN char * SLmemchr (register char *, register char, register int)
SL_EXTERN char * SLmemcpy (char *, char *, int)
SL_EXTERN int SLmemcmp (char *, char *, int)
SL_EXTERN SLstr_TypeSLang_create_nslstring (char *, unsigned int)
SL_EXTERN SLstr_TypeSLang_create_slstring (char *)
SL_EXTERN void SLang_free_slstring (SLstr_Type *)
SL_EXTERN int SLang_pop_slstring (SLstr_Type **)
SL_EXTERN SLstr_TypeSLang_concat_slstrings (SLstr_Type *a, SLstr_Type *b)
SL_EXTERN void SLstring_dump_stats (void)
SL_EXTERN int SLutf8_enable (int)
SL_EXTERN int SLutf8_is_utf8_mode (void)
SL_EXTERN int SLtt_utf8_enable (int)
SL_EXTERN int SLtt_is_utf8_mode (void)
SL_EXTERN int SLsmg_utf8_enable (int)
SL_EXTERN int SLsmg_is_utf8_mode (void)
SL_EXTERN int SLinterp_utf8_enable (int)
SL_EXTERN int SLinterp_is_utf8_mode (void)
SL_EXTERN SLwchar_Type SLwchar_toupper (SLwchar_Type)
SL_EXTERN SLwchar_Type SLwchar_tolower (SLwchar_Type)
SL_EXTERN int SLwchar_wcwidth (SLwchar_Type)
SL_EXTERN int SLwchar_isalnum (SLwchar_Type)
SL_EXTERN int SLwchar_isalpha (SLwchar_Type)
SL_EXTERN int SLwchar_isblank (SLwchar_Type)
SL_EXTERN int SLwchar_iscntrl (SLwchar_Type)
SL_EXTERN int SLwchar_isdigit (SLwchar_Type)
SL_EXTERN int SLwchar_isgraph (SLwchar_Type)
SL_EXTERN int SLwchar_islower (SLwchar_Type)
SL_EXTERN int SLwchar_isprint (SLwchar_Type)
SL_EXTERN int SLwchar_ispunct (SLwchar_Type)
SL_EXTERN int SLwchar_isspace (SLwchar_Type)
SL_EXTERN int SLwchar_isupper (SLwchar_Type)
SL_EXTERN int SLwchar_isxdigit (SLwchar_Type)
SL_EXTERN SLuchar_TypeSLutf8_skip_char (SLuchar_Type *u, SLuchar_Type *umax)
SL_EXTERN SLuchar_TypeSLutf8_bskip_char (SLuchar_Type *umin, SLuchar_Type *u)
SL_EXTERN SLuchar_TypeSLutf8_strup (SLuchar_Type *u, SLuchar_Type *umax)
SL_EXTERN SLuchar_TypeSLutf8_strlo (SLuchar_Type *u, SLuchar_Type *umax)
SL_EXTERN SLuchar_TypeSLutf8_skip_chars (SLuchar_Type *u, SLuchar_Type *umax, unsigned int num, unsigned int *dnum, int ignore_combining)
SL_EXTERN SLuchar_TypeSLutf8_bskip_chars (SLuchar_Type *umin, SLuchar_Type *u, unsigned int num, unsigned int *dnum, int ignore_combining)
SL_EXTERN SLstr_TypeSLutf8_subst_wchar (SLuchar_Type *u, SLuchar_Type *umax, SLwchar_Type wch, unsigned int pos, int ignore_combining)
SL_EXTERN unsigned int SLutf8_strlen (SLuchar_Type *s, int ignore_combining)
SL_EXTERN SLuchar_TypeSLutf8_decode (SLuchar_Type *u, SLuchar_Type *umax, SLwchar_Type *w, unsigned int *nconsumedp)
SL_EXTERN SLuchar_TypeSLutf8_encode (SLwchar_Type w, SLuchar_Type *u, unsigned int ulen)
SL_EXTERN int SLutf8_compare (SLuchar_Type *a, SLuchar_Type *amax, SLuchar_Type *b, SLuchar_Type *bmax, unsigned int nchars, int case_sensitive)
SL_EXTERN SLuchar_TypeSLutf8_extract_utf8_char (SLuchar_Type *u, SLuchar_Type *umax, SLuchar_Type *buf)
SL_EXTERN SLuchar_TypeSLutf8_encode_null_terminate (SLwchar_Type w, SLuchar_Type *buf)
SL_EXTERN SLwchar_Lut_TypeSLwchar_create_lut (unsigned int num_entries)
SL_EXTERN int SLwchar_add_range_to_lut (SLwchar_Lut_Type *r, SLwchar_Type a, SLwchar_Type b)
SL_EXTERN SLuchar_TypeSLwchar_skip_range (SLwchar_Lut_Type *r, SLuchar_Type *p, SLuchar_Type *pmax, int ignore_combining, int invert)
SL_EXTERN SLwchar_Lut_TypeSLwchar_strtolut (SLuchar_Type *u, int allow_range, int allow_charclass)
SL_EXTERN void SLwchar_free_lut (SLwchar_Lut_Type *r)
SL_EXTERN SLuchar_TypeSLwchar_bskip_range (SLwchar_Lut_Type *r, SLuchar_Type *pmin, SLuchar_Type *p, int ignore_combining, int invert)
SL_EXTERN int SLwchar_in_lut (SLwchar_Lut_Type *r, SLwchar_Type wch)
SL_EXTERN void SLwchar_free_char_map (SLwchar_Map_Type *map)
SL_EXTERN SLwchar_Map_TypeSLwchar_allocate_char_map (SLuchar_Type *from, SLuchar_Type *to)
SL_EXTERN int SLwchar_apply_char_map (SLwchar_Map_Type *map, SLwchar_Type *input, SLwchar_Type *output, unsigned int num)
SLuchar_TypeSLuchar_apply_char_map (SLwchar_Map_Type *map, SLuchar_Type *str)
SL_EXTERN int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *, char *)
SL_EXTERN int SLadd_intrin_var_table (SLang_Intrin_Var_Type *, char *)
SL_EXTERN int SLadd_app_unary_table (SLang_App_Unary_Type *, char *)
SL_EXTERN int SLadd_math_unary_table (SLang_Math_Unary_Type *, char *)
SL_EXTERN int SLadd_iconstant_table (SLang_IConstant_Type *, char *)
SL_EXTERN int SLadd_dconstant_table (SLang_DConstant_Type *, char *)
SL_EXTERN int SLadd_fconstant_table (SLang_FConstant_Type *, char *)
SL_EXTERN int SLadd_istruct_table (SLang_IStruct_Field_Type *, VOID_STAR, char *)
SL_EXTERN int SLns_add_intrin_fun_table (SLang_NameSpace_Type *, SLang_Intrin_Fun_Type *, char *)
SL_EXTERN int SLns_add_intrin_var_table (SLang_NameSpace_Type *, SLang_Intrin_Var_Type *, char *)
SL_EXTERN int SLns_add_app_unary_table (SLang_NameSpace_Type *, SLang_App_Unary_Type *, char *)
SL_EXTERN int SLns_add_math_unary_table (SLang_NameSpace_Type *, SLang_Math_Unary_Type *, char *)
SL_EXTERN int SLns_add_hconstant_table (SLang_NameSpace_Type *, SLang_HConstant_Type *, char *)
SL_EXTERN int SLns_add_iconstant_table (SLang_NameSpace_Type *, SLang_IConstant_Type *, char *)
SL_EXTERN int SLns_add_lconstant_table (SLang_NameSpace_Type *, SLang_LConstant_Type *, char *)
SL_EXTERN int SLns_add_fconstant_table (SLang_NameSpace_Type *, SLang_FConstant_Type *, char *)
SL_EXTERN int SLns_add_dconstant_table (SLang_NameSpace_Type *, SLang_DConstant_Type *, char *)
SL_EXTERN int SLns_add_istruct_table (SLang_NameSpace_Type *, SLang_IStruct_Field_Type *, VOID_STAR, char *)
SL_EXTERN int SLns_add_hconstant (SLang_NameSpace_Type *, char *, SLtype, short)
SL_EXTERN int SLns_add_iconstant (SLang_NameSpace_Type *, char *, SLtype, int)
SL_EXTERN int SLns_add_lconstant (SLang_NameSpace_Type *, char *, SLtype, long)
SL_EXTERN int SLns_add_fconstant (SLang_NameSpace_Type *, char *, float)
SL_EXTERN int SLns_add_dconstant (SLang_NameSpace_Type *, char *, double)
SL_EXTERN SLang_NameSpace_TypeSLns_create_namespace (char *)
SL_EXTERN void SLns_delete_namespace (SLang_NameSpace_Type *)
SL_EXTERN int SLns_load_file (char *, char *)
SL_EXTERN int SLns_load_string (char *, char *)
SL_EXTERN int SLang_load_file_verbose (int)
SL_EXTERN SLang_Load_TypeSLallocate_load_type (char *)
SL_EXTERN void SLdeallocate_load_type (SLang_Load_Type *)
SL_EXTERN SLang_Load_TypeSLns_allocate_load_type (char *, char *)
SL_EXTERN int SLang_load_object (SLang_Load_Type *)
SL_EXTERN int SLang_generate_debug_info (int)
SL_EXTERN void SLang_free_struct (SLang_Struct_Type *)
SL_EXTERN int SLang_push_struct (SLang_Struct_Type *)
SL_EXTERN int SLang_pop_struct (SLang_Struct_Type **)
SL_EXTERN int SLclass_push_double_obj (SLtype, double)
SL_EXTERN int SLclass_push_float_obj (SLtype, float)
SL_EXTERN int SLclass_push_long_obj (SLtype, long)
SL_EXTERN int SLclass_push_int_obj (SLtype, int)
SL_EXTERN int SLclass_push_short_obj (SLtype, short)
SL_EXTERN int SLclass_push_char_obj (SLtype, char)
SL_EXTERN int SLclass_push_ptr_obj (SLtype, VOID_STAR)
SL_EXTERN int SLclass_pop_double_obj (SLtype, double *)
SL_EXTERN int SLclass_pop_float_obj (SLtype, float *)
SL_EXTERN int SLclass_pop_long_obj (SLtype, long *)
SL_EXTERN int SLclass_pop_int_obj (SLtype, int *)
SL_EXTERN int SLclass_pop_short_obj (SLtype, short *)
SL_EXTERN int SLclass_pop_char_obj (SLtype, char *)
SL_EXTERN int SLclass_pop_ptr_obj (SLtype, VOID_STAR *)