/* se.h: for Empress */ #include /* se_Prepare(): INT_MAX */ struct _SeRecord { char attr_name [33]; char table_name [33]; int attr_type; int index; int nullable; int is_money; int is_updatable; int is_signed; long precision; int scale; int display_size; long maxlen; long maxchunk; long length; void* binhandle; /* used with DSQL only */ unsigned char* value; struct _SeRecord* next; }; typedef struct _SeRecord SeRecord; typedef int se_return; typedef int se_boolean; #define SE_FAIL (se_return)0 #define SE_OK (se_return)1 #define SE_WARN (se_return)2 #define SE_NOREC (se_return)(-2) #define SE_LOCKEDREC (se_return)(-1) #define SE_TRUE (se_boolean)1 #define SE_FALSE (se_boolean)0 /* Script Engine Data Types */ #define SE_BINARY 1 #define SE_CHAR 2 #define SE_DATE 3 #define SE_DECIMAL 4 #define SE_FLOAT 5 #define SE_INTEGER 6 #define SE_TEXT 7 #define SE_TIME 8 #define SE_TIMESTAMP 9 /* global variables */ extern int se_errcode; extern char *se_errmsg; extern char se_state []; /* global functions */ extern se_return se_Debug (int level); /* debug level for se layer */ extern se_return se_Autocommit ( se_boolean state, /* Autocommit on or off */ int c_num); extern se_return se_BindAttributes (int st_num, int longbuffer, int* num_attrs); extern se_return se_BindParameter ( int st_num, int index, int type, unsigned char* buffer, int buffer_len, long* param_len); extern se_return se_Init (void); extern se_return se_Exit (void); extern se_return se_Connect ( char *db, /* Name of database */ int *connect_num); /* connection number */ extern se_return se_ConnectUser ( char* db, /* Name of database */ char* uid, /* User ID */ char* pword, /* Password */ int* connect_num); /* connection number */ extern void se_DestroyStatement (int st_num); extern se_return se_Disconnect ( int c_num); /* Connection number */ extern se_return se_DisconnectAll (); extern se_return se_Commit ( int c_num); /* Connection number */ extern se_return se_Rollback ( int c_num); /* Connection number */ extern int se_Prepare ( int c_num, /* Connection number */ char *str, /* SQL statement */ int maxlength); /* Maximum retrieved length for text */ /* or bulk */ extern se_return se_Execute ( int st_num, /* Statement handler */ int longbuffer, int *p_ncols, /* no of attributes */ int *p_nrec); /* no. affected records */ extern se_return se_Fetch ( int st_num, /* Statement handler */ SeRecord **valuesp, /* Pointer to array of values */ int *nitems); /* no. items from fetch operation */ extern se_return se_FetchChunk ( int st_num, int attr_num, long offset, long length, SeRecord** attr_val); extern se_return se_Finish ( int st_num); /* Statement handler */ extern SeRecord* se_GetAttributeInfo ( int st_num); extern se_return se_Get ( int st_num, int index, SeRecord** valuesp); extern char* se_GetCursorName ( int st_num); extern se_return se_SetCursorName (int st_num, char* crs_name); extern se_return se_Next (int st_num); /* Statement Number */ extern se_return se_GetDBInt16Info (int connect_num, int option, int* buffer); extern se_return se_GetDBInt32Info (int connect_num, int option, int* buffer); extern se_return se_GetDBStringInfo ( int connection_num, int option, unsigned char* buffer, int buf_len); extern int se_Tables (int connect_num, char* qualifier, char* owner, char* tab_names, char* tab_types); extern int se_TablePrivileges (int connect_num, char* qualifier, char* owner, char* tab_names); extern int se_Attributes (int connect_num, char* qualifier, char* owner, char* tab_names, char* attr_names); extern int se_AttributePrivileges (int connect_num, char* qualifier, char* owner, char* tab_names, char* attr_names); extern int se_PrimaryKeys (int connect_num, char* qualifier, char* owner, char* tab_name); extern int se_ForeignKeys (int connect_num, char* exp_qualifier, char* exp_owner, char* exp_table, char* imp_qualifier, char* imp_owner, char* imp_table); extern int se_Statistics (int connect_num, char* qualifier, char* owner, char* tab_names, int is_unique, int is_approx); extern int se_Procedures (int connect_num, char* qualifier, char* owner, char* proc_names); extern int se_ProcedureColumns (int connect_num, char* qualifier, char* owner, char* proc_names, char* col_names); extern int se_SpecialColumns (int connect_num, char* qualifier, char* owner, char* tab_names, int scale, se_boolean nullable, int option); extern int se_GetTypeInfo (int connection_num); extern se_return se_Delete ( int st_num, /* Statement handler */ char *tabname); /* Table name */ extern se_return se_Update ( int st_num, /* Statement handler */ char *tabname, /* Table name */ int nattr, /* Number of attributes to update */ char **attrs, /* Array of attribute names */ char **vals, /* Array of attribute values */ se_boolean autoquote); /* true: put quotes around values */ extern se_return se_Strquote ( char *source, /* source string */ char **destination); /* address of result string */ extern char* se_Version (); /**** end of se.h ****/