slang.h   slang.h 
#ifndef DAVIS_SLANG_H_ #ifndef DAVIS_SLANG_H_
#define DAVIS_SLANG_H_ #define DAVIS_SLANG_H_
/* -*- mode: C; mode: fold; -*- */ /* -*- mode: C; mode: fold; -*- */
/* /*
Copyright (C) 2004, 2005, 2006 John E. Davis Copyright (C) 2004-2007 John E. Davis
This file is part of the S-Lang Library. This file is part of the S-Lang Library.
The S-Lang Library is free software; you can redistribute it and/or The S-Lang Library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version. License, or (at your option) any later version.
The S-Lang Library is distributed in the hope that it will be useful, The S-Lang Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details. General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this library; if not, write to the Free Software along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. USA.
*/ */
#define SLANG_VERSION 20007 #define SLANG_VERSION 20100
#define SLANG_VERSION_STRING "2.0.7" #define SLANG_VERSION_STRING "2.1.0-0"
/* #ifdef __DATE__ */ /* #ifdef __DATE__ */
/* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 " " __DATE__ */ /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 " " __DATE__ */
/* #else */ /* #else */
/* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 */ /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 */
/* #endif */ /* #endif */
/*{{{ System Dependent Macros and Typedefs */ /*{{{ System Dependent Macros and Typedefs */
#if defined(__WATCOMC__) && defined(DOS) #if defined(__WATCOMC__) && defined(DOS)
# ifndef __MSDOS__ # ifndef __MSDOS__
# define __MSDOS__ # define __MSDOS__
skipping to change at line 327 skipping to change at line 327
SL_EXTERN int SLwchar_islower (SLwchar_Type); SL_EXTERN int SLwchar_islower (SLwchar_Type);
SL_EXTERN int SLwchar_isprint (SLwchar_Type); SL_EXTERN int SLwchar_isprint (SLwchar_Type);
SL_EXTERN int SLwchar_ispunct (SLwchar_Type); SL_EXTERN int SLwchar_ispunct (SLwchar_Type);
SL_EXTERN int SLwchar_isspace (SLwchar_Type); SL_EXTERN int SLwchar_isspace (SLwchar_Type);
SL_EXTERN int SLwchar_isupper (SLwchar_Type); SL_EXTERN int SLwchar_isupper (SLwchar_Type);
SL_EXTERN int SLwchar_isxdigit (SLwchar_Type); SL_EXTERN int SLwchar_isxdigit (SLwchar_Type);
#define SLWCWIDTH_SINGLE_WIDTH 0x0001 #define SLWCWIDTH_SINGLE_WIDTH 0x0001
SL_EXTERN int SLwchar_set_wcwidth_flags (int flags); SL_EXTERN int SLwchar_set_wcwidth_flags (int flags);
/* The skip_char functions also skip over malformed strings counting each b
yte
* in the malformed sequence.
*/
SL_EXTERN SLuchar_Type *SLutf8_skip_char (SLuchar_Type *u, SLuchar_Type *um ax); SL_EXTERN SLuchar_Type *SLutf8_skip_char (SLuchar_Type *u, SLuchar_Type *um ax);
SL_EXTERN SLuchar_Type *SLutf8_bskip_char (SLuchar_Type *umin, SLuchar_Type *u); SL_EXTERN SLuchar_Type *SLutf8_bskip_char (SLuchar_Type *umin, SLuchar_Type *u);
/* The SLutf8_strup/lo functions return slstrings -- free with SLang_free_s
lstring */
SL_EXTERN SLuchar_Type *SLutf8_strup (SLuchar_Type *u, SLuchar_Type *umax);
SL_EXTERN SLuchar_Type *SLutf8_strlo (SLuchar_Type *u, SLuchar_Type *umax);
SL_EXTERN SLuchar_Type *SLutf8_skip_chars (SLuchar_Type *u, SLuchar_Type *u max, SL_EXTERN SLuchar_Type *SLutf8_skip_chars (SLuchar_Type *u, SLuchar_Type *u max,
unsigned int num, unsigned int *dnum , unsigned int num, unsigned int *dnum ,
int ignore_combining ); int ignore_combining );
SL_EXTERN SLuchar_Type *SLutf8_bskip_chars (SLuchar_Type *umin, SLuchar_Typ e *u, SL_EXTERN SLuchar_Type *SLutf8_bskip_chars (SLuchar_Type *umin, SLuchar_Typ e *u,
unsigned int num, unsigned int *dn um, unsigned int num, unsigned int *dn um,
int ignore_combining); int ignore_combining);
/* The SLutf8_strup/lo functions return slstrings -- free with SLang_free_s
lstring */
SL_EXTERN SLuchar_Type *SLutf8_strup (SLuchar_Type *u, SLuchar_Type *umax);
SL_EXTERN SLuchar_Type *SLutf8_strlo (SLuchar_Type *u, SLuchar_Type *umax);
SL_EXTERN SLstr_Type *SLutf8_subst_wchar (SLuchar_Type *u, SLuchar_Type *um ax, SL_EXTERN SLstr_Type *SLutf8_subst_wchar (SLuchar_Type *u, SLuchar_Type *um ax,
SLwchar_Type wch, unsigned int pos, SLwchar_Type wch, unsigned int pos,
int ignore_combining); int ignore_combining);
SL_EXTERN unsigned int SLutf8_strlen (SLuchar_Type *s, int ignore_combining ); SL_EXTERN unsigned int SLutf8_strlen (SLuchar_Type *s, int ignore_combining );
SL_EXTERN SLuchar_Type *SLutf8_decode (SLuchar_Type *u, SLuchar_Type *umax, SL_EXTERN SLuchar_Type *SLutf8_decode (SLuchar_Type *u, SLuchar_Type *umax,
SLwchar_Type *w, unsigned int *nconsume dp); SLwchar_Type *w, unsigned int *nconsume dp);
SL_EXTERN SLuchar_Type *SLutf8_encode (SLwchar_Type w, SLuchar_Type *u, uns igned int ulen); SL_EXTERN SLuchar_Type *SLutf8_encode (SLwchar_Type w, SLuchar_Type *u, uns igned int ulen);
SL_EXTERN int SLutf8_compare (SLuchar_Type *a, SLuchar_Type *amax, SL_EXTERN int SLutf8_compare (SLuchar_Type *a, SLuchar_Type *amax,
skipping to change at line 856 skipping to change at line 859
#define SLARR_DATA_VALUE_IS_POINTER 2 #define SLARR_DATA_VALUE_IS_POINTER 2
#define SLARR_DATA_VALUE_IS_RANGE 4 #define SLARR_DATA_VALUE_IS_RANGE 4
#define SLARR_DATA_VALUE_IS_INTRINSIC 8 #define SLARR_DATA_VALUE_IS_INTRINSIC 8
SLang_Class_Type *cl; SLang_Class_Type *cl;
unsigned int num_refs; unsigned int num_refs;
void (*free_fun)_PROTO((struct _pSLang_Array_Type *)); void (*free_fun)_PROTO((struct _pSLang_Array_Type *));
VOID_STAR client_data; VOID_STAR client_data;
} }
SLang_Array_Type; SLang_Array_Type;
SL_EXTERN int SLang_pop_array_of_type (SLang_Array_Type **, SLtype); SL_EXTERN int SLang_pop_array_of_type (SLang_Array_Type **atp, SLtype type)
SL_EXTERN int SLang_pop_array (SLang_Array_Type **, int); ;
SL_EXTERN int SLang_push_array (SLang_Array_Type *, int); SL_EXTERN int SLang_pop_array (SLang_Array_Type **atp, int convert_scalar);
SL_EXTERN void SLang_free_array (SLang_Array_Type *); SL_EXTERN int SLang_push_array (SLang_Array_Type *at, int do_free);
SL_EXTERN void SLang_free_array (SLang_Array_Type *at);
SL_EXTERN SLang_Array_Type *SLang_create_array (SLtype, int, VOID_STAR, SLi ndex_Type *, unsigned int); SL_EXTERN SLang_Array_Type *SLang_create_array (SLtype, int, VOID_STAR, SLi ndex_Type *, unsigned int);
SL_EXTERN SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *); SL_EXTERN SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *);
SL_EXTERN int SLang_get_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR); SL_EXTERN int SLang_get_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR);
SL_EXTERN int SLang_set_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR); SL_EXTERN int SLang_set_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR);
typedef int SLarray_Contract_Fun_Type (VOID_STAR xp, unsigned int increment , unsigned int num, VOID_STAR yp); typedef int SLarray_Contract_Fun_Type (VOID_STAR xp, unsigned int increment , unsigned int num, VOID_STAR yp);
typedef struct typedef struct
{ {
SLtype from_type; /* if array is this type */ SLtype from_type; /* if array is this type */
SLtype typecast_to_type; /* typecast it to this */ SLtype typecast_to_type; /* typecast it to this */
skipping to change at line 897 skipping to change at line 900
SL_EXTERN int SLarray_map_array_1 (SLCONST SLarray_Map_Type *, SL_EXTERN int SLarray_map_array_1 (SLCONST SLarray_Map_Type *,
int *use_this_dim, int *use_this_dim,
VOID_STAR clientdata); VOID_STAR clientdata);
SL_EXTERN int SLarray_map_array (SLCONST SLarray_Map_Type *); SL_EXTERN int SLarray_map_array (SLCONST SLarray_Map_Type *);
/*}}}*/ /*}}}*/
/*{{{ Interpreter Function Prototypes */ /*{{{ Interpreter Function Prototypes */
/* SL_EXTERN int SLerr_throw (int err, char *msg, SLtype obj_type, VOID_STA R objptr); */ SL_EXTERN int SLerr_throw (int err, char *msg, SLtype obj_type, VOID_STAR o bjptr);
SL_EXTERN void SLang_verror (int, char *, ...) SLATTRIBUTE_PRINTF(2,3); SL_EXTERN void SLang_verror (int, char *, ...) SLATTRIBUTE_PRINTF(2,3);
SL_EXTERN void SLang_verror_va (int errcode, char *fmt, va_list va);
SL_EXTERN int SLang_get_error (void); SL_EXTERN int SLang_get_error (void);
SL_EXTERN int SLang_set_error (int); SL_EXTERN int SLang_set_error (int);
SL_EXTERN char *SLerr_strerror (int errcode); SL_EXTERN char *SLerr_strerror (int errcode);
SL_EXTERN int SLerr_new_exception (int baseclass, char *name, char *descrip t); SL_EXTERN int SLerr_new_exception (int baseclass, char *name, char *descrip t);
SL_EXTERN int SLerr_exception_eqs (int, int); SL_EXTERN int SLerr_exception_eqs (int, int);
SL_EXTERN int SL_Any_Error; SL_EXTERN int SL_Any_Error;
SL_EXTERN int SL_OS_Error; SL_EXTERN int SL_OS_Error;
SL_EXTERN int SL_Malloc_Error; SL_EXTERN int SL_Malloc_Error;
SL_EXTERN int SL_IO_Error; SL_EXTERN int SL_IO_Error;
skipping to change at line 984 skipping to change at line 988
#define SL_DIVIDE_ERROR SL_DivideByZero_Error #define SL_DIVIDE_ERROR SL_DivideByZero_Error
#define SL_MATH_ERROR SL_Math_Error #define SL_MATH_ERROR SL_Math_Error
#define SL_ARITH_OVERFLOW_ERROR SL_ArithOverflow_Error #define SL_ARITH_OVERFLOW_ERROR SL_ArithOverflow_Error
#define SL_ARITH_UNDERFLOW_ERROR SL_ArithUnderflow_Error #define SL_ARITH_UNDERFLOW_ERROR SL_ArithUnderflow_Error
#define SL_USAGE_ERROR SL_Usage_Error #define SL_USAGE_ERROR SL_Usage_Error
#define SL_INVALID_DATA_ERROR SL_Data_Error #define SL_INVALID_DATA_ERROR SL_Data_Error
#define SL_UNICODE_ERROR SL_Unicode_Error #define SL_UNICODE_ERROR SL_Unicode_Error
#define SL_INVALID_UTF8 SL_InvalidUTF8_Error #define SL_INVALID_UTF8 SL_InvalidUTF8_Error
SL_EXTERN int SLang_Traceback; SL_EXTERN int SLang_Traceback;
#define SL_TB_NONE 0x0
#define SL_TB_FULL 0x1 /* full traceback */
#define SL_TB_OMIT_LOCALS 0x2 /* full, but omit local vars */
#define SL_TB_PARTIAL 0x4 /* show just on line of traceback */
/* If non-zero, dump an S-Lang traceback upon error. Available as /* If non-zero, dump an S-Lang traceback upon error. Available as
_traceback in S-Lang. */ _traceback in S-Lang. */
SL_EXTERN char *SLang_User_Prompt; SL_EXTERN char *SLang_User_Prompt;
/* Prompt to use when reading from stdin */ /* Prompt to use when reading from stdin */
SL_EXTERN int SLang_Version; SL_EXTERN int SLang_Version;
SL_EXTERN char *SLang_Version_String; SL_EXTERN char *SLang_Version_String;
SL_EXTERN char *SLang_Doc_Dir; SL_EXTERN char *SLang_Doc_Dir;
SL_EXTERN void (*SLang_VMessage_Hook) (char *, va_list); SL_EXTERN void (*SLang_VMessage_Hook) (char *, va_list);
skipping to change at line 1486 skipping to change at line 1495
/* Despite the name of this variable, its value is the last BYTE of a key-s equence */ /* Despite the name of this variable, its value is the last BYTE of a key-s equence */
SL_EXTERN int SLang_Key_TimeOut_Flag; SL_EXTERN int SLang_Key_TimeOut_Flag;
/*}}}*/ /*}}}*/
/*{{{ SLang Readline Interface */ /*{{{ SLang Readline Interface */
typedef struct _pSLrline_Type SLrline_Type; typedef struct _pSLrline_Type SLrline_Type;
SL_EXTERN SLrline_Type *SLrline_open (unsigned int width, unsigned int flag s); SL_EXTERN SLrline_Type *SLrline_open (unsigned int width, unsigned int flag s);
SL_EXTERN SLrline_Type *SLrline_open2 (char *, unsigned int width, unsigned int flags);
#define SL_RLINE_NO_ECHO 1 #define SL_RLINE_NO_ECHO 1
#define SL_RLINE_USE_ANSI 2 #define SL_RLINE_USE_ANSI 2
#define SL_RLINE_BLINK_MATCH 4 #define SL_RLINE_BLINK_MATCH 4
#define SL_RLINE_UTF8_MODE 8 #define SL_RLINE_UTF8_MODE 8
SL_EXTERN void SLrline_close (SLrline_Type *); SL_EXTERN void SLrline_close (SLrline_Type *);
/* This returns a malloced string */ /* This returns a malloced string */
SL_EXTERN char *SLrline_read_line (SLrline_Type *, char *prompt, unsigned i nt *lenp); SL_EXTERN char *SLrline_read_line (SLrline_Type *, char *prompt, unsigned i nt *lenp);
SL_EXTERN int SLrline_bol (SLrline_Type *); SL_EXTERN int SLrline_bol (SLrline_Type *);
SL_EXTERN int SLrline_eol (SLrline_Type *); SL_EXTERN int SLrline_eol (SLrline_Type *);
SL_EXTERN int SLrline_del (SLrline_Type *, unsigned int len); SL_EXTERN int SLrline_del (SLrline_Type *, unsigned int len);
SL_EXTERN int SLrline_ins (SLrline_Type *, char *s, unsigned int len); SL_EXTERN int SLrline_ins (SLrline_Type *, char *s, unsigned int len);
SL_EXTERN int SLrline_move (SLrline_Type *, int);
SL_EXTERN int SLrline_set_echo (SLrline_Type *, int); SL_EXTERN int SLrline_set_echo (SLrline_Type *, int);
SL_EXTERN int SLrline_set_tab (SLrline_Type *, unsigned int tabwidth); SL_EXTERN int SLrline_set_tab (SLrline_Type *, unsigned int tabwidth);
SL_EXTERN int SLrline_set_point (SLrline_Type *, unsigned int); SL_EXTERN int SLrline_set_point (SLrline_Type *, unsigned int);
SL_EXTERN int SLrline_set_line (SLrline_Type *, char *); SL_EXTERN int SLrline_set_line (SLrline_Type *, char *);
SL_EXTERN int SLrline_set_hscroll (SLrline_Type *, unsigned int); SL_EXTERN int SLrline_set_hscroll (SLrline_Type *, unsigned int);
SL_EXTERN int SLrline_set_display_width (SLrline_Type *, unsigned int); SL_EXTERN int SLrline_set_display_width (SLrline_Type *, unsigned int);
SL_EXTERN int SLrline_get_echo (SLrline_Type *, int *); SL_EXTERN int SLrline_get_echo (SLrline_Type *, int *);
SL_EXTERN int SLrline_get_tab (SLrline_Type *, unsigned int *); SL_EXTERN int SLrline_get_tab (SLrline_Type *, unsigned int *);
skipping to change at line 1527 skipping to change at line 1538
char *buf, unsigned int len, char *buf, unsigned int len,
unsigned int point, VOID_STAR c lient_data), unsigned int point, VOID_STAR c lient_data),
VOID_STAR client_data); VOID_STAR client_data);
SL_EXTERN SLkeymap_Type *SLrline_get_keymap (SLrline_Type *); SL_EXTERN SLkeymap_Type *SLrline_get_keymap (SLrline_Type *);
SL_EXTERN void SLrline_redraw (SLrline_Type *); SL_EXTERN void SLrline_redraw (SLrline_Type *);
SL_EXTERN int SLrline_save_line (SLrline_Type *); SL_EXTERN int SLrline_save_line (SLrline_Type *);
SL_EXTERN int SLrline_add_to_history (SLrline_Type *, char *); SL_EXTERN int SLrline_add_to_history (SLrline_Type *, char *);
/* Interpreter interface */
SL_EXTERN int SLrline_init (char *appdef, char *user_initfile, char *sys_in
itfile);
/* Compatibility */ /* Compatibility */
typedef SLrline_Type SLang_RLine_Info_Type; typedef SLrline_Type SLang_RLine_Info_Type;
/*}}}*/ /*}}}*/
/*{{{ Low Level Screen Output Interface */ /*{{{ Low Level Screen Output Interface */
SL_EXTERN unsigned long SLtt_Num_Chars_Output; SL_EXTERN unsigned long SLtt_Num_Chars_Output;
SL_EXTERN int SLtt_Baud_Rate; SL_EXTERN int SLtt_Baud_Rate;
skipping to change at line 2110 skipping to change at line 2124
#define SLANG_UNARY_OP_MAX 0x2B #define SLANG_UNARY_OP_MAX 0x2B
SL_EXTERN char *SLang_Error_Message; SL_EXTERN char *SLang_Error_Message;
SL_EXTERN int SLadd_intrinsic_variable (char *, VOID_STAR, SLtype, int); SL_EXTERN int SLadd_intrinsic_variable (char *, VOID_STAR, SLtype, int);
SL_EXTERN int SLadd_intrinsic_function (char *, FVOID_STAR, SLtype, unsigne d int,...); SL_EXTERN int SLadd_intrinsic_function (char *, FVOID_STAR, SLtype, unsigne d int,...);
SL_EXTERN int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, SLtype, int); SL_EXTERN int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, SLtype, int);
SL_EXTERN int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, SLtype, unsigned int,...); SL_EXTERN int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, SLtype, unsigned int,...);
/* These functions are used to patch intrinsic tables that make use of
* dynamically allocated types whose type id is determined at
* run-time. The second version is useful for the most common case of a
* single mapping.
*/
extern int SLclass_patch_intrin_fun_table (SLang_Intrin_Fun_Type *table,
SLtype *from_types, SLtype *to_type
s, unsigned int num);
extern int SLclass_patch_intrin_fun_table1 (SLang_Intrin_Fun_Type *table,
SLtype from_type, SLtype to_type);
#define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \ #define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \
{(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \ {(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \
{a1,a2,a3,a4,a5,a6,a7}, (in), (out)} {a1,a2,a3,a4,a5,a6,a7}, (in), (out)}
#define MAKE_INTRINSIC_7(n,f,out,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) 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) \ #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) 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) \ #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) MAKE_INTRINSIC_N(n,f,out,5,a1,a2,a3,a4,a5,0,0)
skipping to change at line 2270 skipping to change at line 2294
#define SLREGEXP_UTF8 0x10 #define SLREGEXP_UTF8 0x10
SL_EXTERN void SLregexp_free (SLRegexp_Type *); SL_EXTERN void SLregexp_free (SLRegexp_Type *);
SL_EXTERN char *SLregexp_match (SLRegexp_Type *compiled_regexp, char *str, unsigned int len); SL_EXTERN char *SLregexp_match (SLRegexp_Type *compiled_regexp, char *str, unsigned int len);
SL_EXTERN int SLregexp_nth_match (SLRegexp_Type *, unsigned int nth, unsign ed int *ofsp, unsigned int *lenp); SL_EXTERN int SLregexp_nth_match (SLRegexp_Type *, unsigned int nth, unsign ed int *ofsp, unsigned int *lenp);
SL_EXTERN int SLregexp_get_hints (SLRegexp_Type *, unsigned int *flagsp); SL_EXTERN int SLregexp_get_hints (SLRegexp_Type *, unsigned int *flagsp);
#define SLREGEXP_HINT_BOL 0x01 /* pattern must match bol */ #define SLREGEXP_HINT_BOL 0x01 /* pattern must match bol */
#define SLREGEXP_HINT_OSEARCH 0x02 /* ordinary search will do */ #define SLREGEXP_HINT_OSEARCH 0x02 /* ordinary search will do */
SL_EXTERN char *SLregexp_quote_string (char *, char *, unsigned int); SL_EXTERN char *SLregexp_quote_string (char *pattern, char *buf, unsigned i nt buflen);
/*}}}*/ /*}}}*/
/*{{{ SLang Command Interface */ /*{{{ SLang Command Interface */
struct _pSLcmd_Cmd_Type; /* Pre-declaration is needed below */ struct _pSLcmd_Cmd_Type; /* Pre-declaration is needed below */
typedef struct typedef struct
{ {
struct _pSLcmd_Cmd_Type *table; struct _pSLcmd_Cmd_Type *table;
int argc; int argc;
 End of changes. 14 change blocks. 
15 lines changed or deleted 42 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/