!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux web25.us.cloudlogin.co 5.10.237-xeon-hst #1 SMP Mon May 5 15:10:04 UTC 2025 x86_64 

uid=233359(alpastrology) gid=888(tty) groups=888(tty),33(tape) 

Safe-mode: OFF (not secure)

/usr/include/   drwxr-xr-x
Free 6182.09 GB of 6263.29 GB (98.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     cspublic.h (22.56 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* FreeTDS - Library of routines accessing Sybase and Microsoft databases
 * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004  Brian Bruns
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 */

#ifndef _cspublic_h_
#define _cspublic_h_

#include <cstypes.h>

#undef TDS_STATIC_CAST
#ifdef __cplusplus
#define TDS_STATIC_CAST(type, a) static_cast<type>(a)
extern "C"
{
#if 0
}
#endif
#else
#define TDS_STATIC_CAST(type, a) ((type)(a))
#endif

#define CS_PUBLIC
#define CS_STATIC static

#define CS_SUCCEED        1
#define CS_FAIL            0
#define CS_MEM_ERROR        -1
#define CS_PENDING         -2
#define CS_QUIET         -3
#define CS_BUSY            -4
#define CS_INTERRUPT         -5
#define CS_BLK_HAS_TEXT        -6
#define CS_CONTINUE        -7
#define CS_FATAL        -8
#define CS_RET_HAFAILOVER    -9
#define CS_UNSUPPORTED        -10

#define CS_CANCELED    -202
#define CS_ROW_FAIL    -203
#define CS_END_DATA    -204
#define CS_END_RESULTS    -205
#define CS_END_ITEM    -206
#define CS_NOMSG    -207
#define CS_TIMED_OUT     -208

#define CS_SIZEOF(x) sizeof(x)

#define CS_LAYER(x)    (((x) >> 24) & 0xFF)
#define CS_ORIGIN(x)   (((x) >> 16) & 0xFF)
#define CS_SEVERITY(x) (((x) >>  8) & 0xFF)
#define CS_NUMBER(x)   ((x) & 0xFF)

/* forward declarations */
typedef CS_RETCODE(*CS_CSLIBMSG_FUNC) (CS_CONTEXT *, CS_CLIENTMSG *);
typedef CS_RETCODE(*CS_CLIENTMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_CLIENTMSG *);
typedef CS_RETCODE(*CS_SERVERMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_SERVERMSG *);


#define CS_IODATA          TDS_STATIC_CAST(CS_INT, 1600)
#define CS_SRC_VALUE   -2562



/* status bits for CS_SERVERMSG */
#define CS_HASEED 0x01

typedef struct _cs_blkdesc CS_BLKDESC;

/* CS_CAP_REQUEST values */
#define CS_REQ_LANG    1
#define CS_REQ_RPC    2
#define CS_REQ_NOTIF    3
#define CS_REQ_MSTMT    4
#define CS_REQ_BCP    5
#define CS_REQ_CURSOR    6
#define CS_REQ_DYN    7
#define CS_REQ_MSG    8
#define CS_REQ_PARAM    9
#define CS_DATA_INT1    10
#define CS_DATA_INT2    11
#define CS_DATA_INT4    12
#define CS_DATA_BIT    13
#define CS_DATA_CHAR    14
#define CS_DATA_VCHAR    15
#define CS_DATA_BIN    16
#define CS_DATA_VBIN    17
#define CS_DATA_MNY8    18
#define CS_DATA_MNY4    19
#define CS_DATA_DATE8    20
#define CS_DATA_DATE4    21
#define CS_DATA_FLT4    22
#define CS_DATA_FLT8    23
#define CS_DATA_NUM    24
#define CS_DATA_TEXT    25
#define CS_DATA_IMAGE    26
#define CS_DATA_DEC    27
#define CS_DATA_LCHAR    28
#define CS_DATA_LBIN    29
#define CS_DATA_INTN    30
#define CS_DATA_DATETIMEN    31
#define CS_DATA_MONEYN    32
#define CS_CSR_PREV    33
#define CS_CSR_FIRST    34
#define CS_CSR_LAST    35
#define CS_CSR_ABS    36
#define CS_CSR_REL    37
#define CS_CSR_MULTI    38
#define CS_CON_OOB    39
#define CS_CON_INBAND    40
#define CS_CON_LOGICAL    41
#define CS_PROTO_TEXT    42
#define CS_PROTO_BULK    43
#define CS_REQ_URGNOTIF    44
#define CS_DATA_SENSITIVITY    45
#define CS_DATA_BOUNDARY    46
#define CS_PROTO_DYNAMIC    47
#define CS_PROTO_DYNPROC    48
#define CS_DATA_FLTN    49
#define CS_DATA_BITN    50
#define CS_OPTION_GET    51
#define CS_DATA_INT8    52
#define CS_DATA_VOID    53

/* CS_CAP_RESPONSE values */
#define CS_RES_NOMSG    1
#define CS_RES_NOEED    2
#define CS_RES_NOPARAM    3
#define CS_DATA_NOINT1    4
#define CS_DATA_NOINT2    5
#define CS_DATA_NOINT4    6
#define CS_DATA_NOBIT    7
#define CS_DATA_NOCHAR    8
#define CS_DATA_NOVCHAR    9
#define CS_DATA_NOBIN    10
#define CS_DATA_NOVBIN    11
#define CS_DATA_NOMNY8    12
#define CS_DATA_NOMNY4    13
#define CS_DATA_NODATE8    14
#define CS_DATA_NODATE4    15
#define CS_DATA_NOFLT4    16
#define CS_DATA_NOFLT8    17
#define CS_DATA_NONUM    18
#define CS_DATA_NOTEXT    19
#define CS_DATA_NOIMAGE    20
#define CS_DATA_NODEC    21
#define CS_DATA_NOLCHAR    22
#define CS_DATA_NOLBIN    23
#define CS_DATA_NOINTN    24
#define CS_DATA_NODATETIMEN    25
#define CS_DATA_NOMONEYN    26
#define CS_CON_NOOOB    27
#define CS_CON_NOINBAND    28
#define CS_PROTO_NOTEXT    29
#define CS_PROTO_NOBULK    30
#define CS_DATA_NOSENSITIVITY    31
#define CS_DATA_NOBOUNDARY    32
#define CS_RES_NOTDSDEBUG    33
#define CS_RES_NOSTRIPBLANKS    34
#define CS_DATA_NOINT8    35

/* Properties */
enum
{
/*
 * These defines looks weird but programs can test support for defines,
 * compiler can check enum and there are no define side effecs
 */
    CS_USERNAME = 9100,
#define CS_USERNAME CS_USERNAME
    CS_PASSWORD = 9101,
#define CS_PASSWORD CS_PASSWORD
    CS_APPNAME = 9102,
#define CS_APPNAME CS_APPNAME
    CS_HOSTNAME = 9103,
#define CS_HOSTNAME CS_HOSTNAME
    CS_LOGIN_STATUS = 9104,
#define CS_LOGIN_STATUS CS_LOGIN_STATUS
    CS_TDS_VERSION = 9105,
#define CS_TDS_VERSION CS_TDS_VERSION
    CS_CHARSETCNV = 9106,
#define CS_CHARSETCNV CS_CHARSETCNV
    CS_PACKETSIZE = 9107,
#define CS_PACKETSIZE CS_PACKETSIZE
    CS_USERDATA = 9108,
#define CS_USERDATA CS_USERDATA
    CS_NETIO = 9110,
#define CS_NETIO CS_NETIO
    CS_TEXTLIMIT = 9112,
#define CS_TEXTLIMIT CS_TEXTLIMIT
    CS_HIDDEN_KEYS = 9113,
#define CS_HIDDEN_KEYS CS_HIDDEN_KEYS
    CS_VERSION = 9114,
#define CS_VERSION CS_VERSION
    CS_IFILE = 9115,
#define CS_IFILE CS_IFILE
    CS_LOGIN_TIMEOUT = 9116,
#define CS_LOGIN_TIMEOUT CS_LOGIN_TIMEOUT
    CS_TIMEOUT = 9117,
#define CS_TIMEOUT CS_TIMEOUT
    CS_MAX_CONNECT = 9118,
#define CS_MAX_CONNECT CS_MAX_CONNECT
    CS_EXPOSE_FMTS = 9120,
#define CS_EXPOSE_FMTS CS_EXPOSE_FMTS
    CS_EXTRA_INF = 9121,
#define CS_EXTRA_INF CS_EXTRA_INF
    CS_ANSI_BINDS = 9123,
#define CS_ANSI_BINDS CS_ANSI_BINDS
    CS_BULK_LOGIN = 9124,
#define CS_BULK_LOGIN CS_BULK_LOGIN
    CS_LOC_PROP = 9125,
#define CS_LOC_PROP CS_LOC_PROP
    CS_PARENT_HANDLE = 9130,
#define CS_PARENT_HANDLE CS_PARENT_HANDLE
    CS_EED_CMD = 9131,
#define CS_EED_CMD CS_EED_CMD
    CS_DIAG_TIMEOUT = 9132,
#define CS_DIAG_TIMEOUT CS_DIAG_TIMEOUT
    CS_DISABLE_POLL = 9133,
#define CS_DISABLE_POLL CS_DISABLE_POLL
    CS_SEC_ENCRYPTION = 9135,
#define CS_SEC_ENCRYPTION CS_SEC_ENCRYPTION
    CS_SEC_CHALLENGE = 9136,
#define CS_SEC_CHALLENGE CS_SEC_CHALLENGE
    CS_SEC_NEGOTIATE = 9137,
#define CS_SEC_NEGOTIATE CS_SEC_NEGOTIATE
    CS_CON_STATUS = 9143,
#define CS_CON_STATUS CS_CON_STATUS
    CS_VER_STRING = 9144,
#define CS_VER_STRING CS_VER_STRING
    CS_SERVERNAME = 9146,
#define CS_SERVERNAME CS_SERVERNAME
    CS_SEC_APPDEFINED = 9149,
#define CS_SEC_APPDEFINED CS_SEC_APPDEFINED
    CS_STICKY_BINDS = 9151,
#define CS_STICKY_BINDS CS_STICKY_BINDS
    CS_SEC_NETWORKAUTH = 9175,
#define CS_SEC_NETWORKAUTH CS_SEC_NETWORKAUTH
    CS_SEC_DELEGATION = 9176,
#define CS_SEC_DELEGATION CS_SEC_DELEGATION
    CS_SEC_MUTUALAUTH = 9177,
#define CS_SEC_MUTUALAUTH CS_SEC_MUTUALAUTH
    CS_SEC_SERVERPRINCIPAL = 9188,
#define CS_SEC_SERVERPRINCIPAL CS_SEC_SERVERPRINCIPAL
    CS_SERVERADDR = 9206,
#define CS_SERVERADDR CS_SERVERADDR
    CS_PORT = 9300,
#define CS_PORT CS_PORT
    CS_CLIENTCHARSET = 9301,
#define CS_CLIENTCHARSET CS_CLIENTCHARSET
    CS_DATABASE = 9302
#define CS_DATABASE CS_DATABASE
};

/* Arbitrary precision math operators */
enum
{
    CS_ADD = 1,
    CS_SUB,
    CS_MULT,
    CS_DIV
};

enum
{
#define CS_TDS_AUTO CS_TDS_AUTO
    CS_TDS_AUTO = 0,
    CS_TDS_40 = 7360,
    CS_TDS_42,
    CS_TDS_46,
    CS_TDS_495,
    CS_TDS_50,
    CS_TDS_70,
    CS_TDS_71,
#define CS_TDS_71 CS_TDS_71
    CS_TDS_72,
#define CS_TDS_72 CS_TDS_72
    CS_TDS_73,
#define CS_TDS_73 CS_TDS_73
    CS_TDS_74,
#define CS_TDS_74 CS_TDS_74
};

/* bit mask values used by CS_DATAFMT.status */
#define CS_HIDDEN      (1 <<  0)
#define CS_KEY         (1 <<  1)
#define CS_VERSION_KEY (1 <<  2)
#define CS_NODATA      (1 <<  3)
#define CS_UPDATABLE   (1 <<  4)
#define CS_CANBENULL   (1 <<  5)
#define CS_DESCIN      (1 <<  6)
#define CS_DESCOUT     (1 <<  7)
#define CS_INPUTVALUE  (1 <<  8)
#define CS_UPDATECOL   (1 <<  9)
#define CS_RETURN      (1 << 10)
#define CS_TIMESTAMP   (1 << 13)
#define CS_NODEFAULT   (1 << 14)
#define CS_IDENTITY    (1 << 15)

/*
 * DBD::Sybase compares indicator to CS_NULLDATA so this is -1
 * (the documentation states -1)
 */
#define CS_GOODDATA    0
#define CS_NULLDATA    (-1)

/* CS_CON_STATUS read-only property bit mask values */
#define CS_CONSTAT_CONNECTED    0x01
#define CS_CONSTAT_DEAD     0x02

/*
 * Code added for CURSOR support
 * types accepted by ct_cursor
 */
#define CS_CURSOR_DECLARE  700
#define CS_CURSOR_OPEN     701
#define CS_CURSOR_ROWS     703
#define CS_CURSOR_UPDATE   704
#define CS_CURSOR_DELETE   705
#define CS_CURSOR_CLOSE    706
#define CS_CURSOR_DEALLOC  707
#define CS_CURSOR_OPTION   725

#define CS_FOR_UPDATE      TDS_STATIC_CAST(CS_INT, 0x1)
#define CS_READ_ONLY       TDS_STATIC_CAST(CS_INT, 0x2)
#define CS_RESTORE_OPEN    TDS_STATIC_CAST(CS_INT, 0x8)
#define CS_IMPLICIT_CURSOR TDS_STATIC_CAST(CS_INT, 0x40)


#define CS_CURSTAT_NONE      TDS_STATIC_CAST(CS_INT, 0x0)
#define CS_CURSTAT_DECLARED  TDS_STATIC_CAST(CS_INT, 0x1)
#define CS_CURSTAT_OPEN      TDS_STATIC_CAST(CS_INT, 0x2)
#define CS_CURSTAT_CLOSED    TDS_STATIC_CAST(CS_INT, 0x4)
#define CS_CURSTAT_RDONLY    TDS_STATIC_CAST(CS_INT, 0x8)
#define CS_CURSTAT_UPDATABLE TDS_STATIC_CAST(CS_INT, 0x10)
#define CS_CURSTAT_ROWCOUNT  TDS_STATIC_CAST(CS_INT, 0x20)
#define CS_CURSTAT_DEALLOC   TDS_STATIC_CAST(CS_INT, 0x40)

#define CS_CUR_STATUS        TDS_STATIC_CAST(CS_INT, 9126)
#define CS_CUR_ID            TDS_STATIC_CAST(CS_INT, 9127)
#define CS_CUR_NAME          TDS_STATIC_CAST(CS_INT, 9128)
#define CS_CUR_ROWCOUNT      TDS_STATIC_CAST(CS_INT, 9129)

/* options accepted by ct_options() */
#define CS_OPT_DATEFIRST    5001
#define CS_OPT_TEXTSIZE        5002
#define CS_OPT_STATS_TIME    5003
#define CS_OPT_STATS_IO        5004
#define CS_OPT_ROWCOUNT        5005
#define CS_OPT_DATEFORMAT    5007
#define CS_OPT_ISOLATION    5008
#define CS_OPT_AUTHON        5009
#define CS_OPT_SHOWPLAN        5013
#define CS_OPT_NOEXEC        5014
#define CS_OPT_ARITHIGNORE    5015
#define CS_OPT_TRUNCIGNORE    5016
#define CS_OPT_ARITHABORT    5017
#define CS_OPT_PARSEONLY    5018
#define CS_OPT_GETDATA        5020
#define CS_OPT_NOCOUNT        5021
#define CS_OPT_FORCEPLAN    5023
#define CS_OPT_FORMATONLY    5024
#define CS_OPT_CHAINXACTS    5025
#define CS_OPT_CURCLOSEONXACT    5026
#define CS_OPT_FIPSFLAG        5027
#define CS_OPT_RESTREES        5028
#define CS_OPT_IDENTITYON    5029
#define CS_OPT_CURREAD        5030
#define CS_OPT_CURWRITE        5031
#define CS_OPT_IDENTITYOFF    5032
#define CS_OPT_AUTHOFF        5033
#define CS_OPT_ANSINULL        5034
#define CS_OPT_QUOTED_IDENT    5035
#define CS_OPT_ANSIPERM        5036
#define CS_OPT_STR_RTRUNC    5037

/* options accepted by ct_command() */
enum ct_command_options
{
    CS_MORE = 16,
    CS_END = 32,
    CS_RECOMPILE = 188,
    CS_NO_RECOMPILE,
    CS_BULK_INIT,
    CS_BULK_CONT,
    CS_BULK_DATA,
    CS_COLUMN_DATA
};


/*
 * bind formats, should be mapped to TDS types
 * can be a combination of bit
 */
enum
{
    CS_FMT_UNUSED = 0,
#define CS_FMT_UNUSED CS_FMT_UNUSED
    CS_FMT_NULLTERM = 1,
#define CS_FMT_NULLTERM CS_FMT_NULLTERM
    CS_FMT_PADNULL = 2,
#define CS_FMT_PADBLANK CS_FMT_PADBLANK
    CS_FMT_PADBLANK = 4,
#define CS_FMT_PADNULL CS_FMT_PADNULL
    CS_FMT_JUSTIFY_RT = 8
#define CS_FMT_JUSTIFY_RT CS_FMT_JUSTIFY_RT
};

/* callbacks */
#define CS_COMPLETION_CB    1
#define CS_SERVERMSG_CB        2
#define CS_CLIENTMSG_CB        3
#define CS_NOTIF_CB        4
#define CS_ENCRYPT_CB        5
#define CS_CHALLENGE_CB        6
#define CS_DS_LOOKUP_CB        7
#define CS_SECSESSION_CB    8
#define CS_SIGNAL_CB        100
#define CS_MESSAGE_CB        9119

/* string types */
#define CS_NULLTERM    -9
#define CS_WILDCARD    -99
#define CS_NO_LIMIT    -9999
#define CS_UNUSED    -99999

/* other */
#define CS_GET        33
#define CS_SET        34
#define CS_CLEAR    35
#define CS_INIT         36
#define CS_STATUS       37
#define CS_MSGLIMIT     38
#define CS_SUPPORTED    40

#define CS_CMD_DONE    4046
#define CS_CMD_SUCCEED    4047
#define CS_CMD_FAIL    4048

/* commands */
#define CS_LANG_CMD     148
#define CS_RPC_CMD     149
#define CS_SEND_DATA_CMD 151
#define CS_SEND_BULK_CMD 153

#ifdef CS_NO_LARGE_IDENTIFIERS
#define CS_VERSION_100    112
#define CS_VERSION_110    1100
#define CS_VERSION_120    1100
#define CS_VERSION_125    12500
#define CS_VERSION_150    15000
#else
#define CS_VERSION_100    113
#define CS_VERSION_110    1101
#define CS_VERSION_120    CS_VERSION_110
#define CS_VERSION_125    12501
#define CS_VERSION_150    15001
#define CS_VERSION_155    15501
#define CS_VERSION_157    15701
#define CS_VERSION_160    16001
#endif

#define BLK_VERSION_100 CS_VERSION_100
#define BLK_VERSION_110 CS_VERSION_110
#define BLK_VERSION_120 CS_VERSION_120
#define BLK_VERSION_125 CS_VERSION_125
#define BLK_VERSION_150 CS_VERSION_150

#define CS_FORCE_EXIT    300
#define CS_FORCE_CLOSE  301

#define CS_SYNC_IO    8111
#define CS_ASYNC_IO    8112
#define CS_DEFER_IO    8113

#define CS_CANCEL_CURRENT 6000
#define CS_CANCEL_ALL      6001
#define CS_CANCEL_ATTN      6002

#define CS_ROW_COUNT    800
#define CS_CMD_NUMBER    801
#define CS_NUM_COMPUTES    802
#define CS_NUMDATA    803
#define CS_NUMORDERCOLS    805
#define CS_MSGTYPE      806
#define CS_BROWSE_INFO    807
#define CS_TRANS_STATE    808

#define CS_TRAN_UNDEFINED   0
#define CS_TRAN_IN_PROGRESS 1
#define CS_TRAN_COMPLETED   2
#define CS_TRAN_FAIL        3
#define CS_TRAN_STMT_FAIL   4

#define CS_COMP_OP    5350
#define CS_COMP_ID    5351
#define CS_COMP_COLID    5352
#define CS_COMP_BYLIST    5353
#define CS_BYLIST_LEN    5354

#define CS_NO_COUNT    -1

#define CS_OP_SUM    5370
#define CS_OP_AVG    5371
#define CS_OP_COUNT    5372
#define CS_OP_MIN    5373
#define CS_OP_MAX    5374

#define CS_CAP_REQUEST    1
#define CS_CAP_RESPONSE    2

#define CS_PREPARE    717
#define CS_EXECUTE    718
#define CS_DESCRIBE_INPUT    720
#define CS_DESCRIBE_OUTPUT    721

#define CS_DEALLOC    711

#define CS_LC_ALL         7
#define CS_SYB_LANG         8
#define CS_SYB_CHARSET         9
#define CS_SYB_SORTORDER     10
#define CS_SYB_COLLATE CS_SYB_SORTORDER
#define CS_SYB_LANG_CHARSET  11

#define CS_BLK_IN    1
#define CS_BLK_OUT    2

#define CS_BLK_BATCH    1
#define CS_BLK_ALL    2
#define CS_BLK_CANCEL    3

/* to do support these */

#define CS_BLK_ARRAY_MAXLEN 0x1000
#define CS_DEF_PREC     18

/* Error Severities  */
#define CS_SV_INFORM        TDS_STATIC_CAST(CS_INT, 0)
#define CS_SV_API_FAIL      TDS_STATIC_CAST(CS_INT, 1)
#define CS_SV_RETRY_FAIL    TDS_STATIC_CAST(CS_INT, 2)
#define CS_SV_RESOURCE_FAIL TDS_STATIC_CAST(CS_INT, 3)
#define CS_SV_CONFIG_FAIL   TDS_STATIC_CAST(CS_INT, 4)
#define CS_SV_COMM_FAIL     TDS_STATIC_CAST(CS_INT, 5)
#define CS_SV_INTERNAL_FAIL TDS_STATIC_CAST(CS_INT, 6)
#define CS_SV_FATAL         TDS_STATIC_CAST(CS_INT, 7)

/* result_types */
#define CS_COMPUTE_RESULT    4045
#define CS_CURSOR_RESULT    4041
#define CS_PARAM_RESULT        4042
#define CS_ROW_RESULT        4040
#define CS_STATUS_RESULT    4043
#define CS_COMPUTEFMT_RESULT    4050
#define CS_ROWFMT_RESULT    4049
#define CS_MSG_RESULT        4044
#define CS_DESCRIBE_RESULT    4051

/* bind types */
#define CS_ILLEGAL_TYPE     TDS_STATIC_CAST(CS_INT, -1)
#define CS_CHAR_TYPE        TDS_STATIC_CAST(CS_INT, 0)
#define CS_BINARY_TYPE      TDS_STATIC_CAST(CS_INT, 1)
#define CS_LONGCHAR_TYPE    TDS_STATIC_CAST(CS_INT, 2)
#define CS_LONGBINARY_TYPE  TDS_STATIC_CAST(CS_INT, 3)
#define CS_TEXT_TYPE        TDS_STATIC_CAST(CS_INT, 4)
#define CS_IMAGE_TYPE       TDS_STATIC_CAST(CS_INT, 5)
#define CS_TINYINT_TYPE     TDS_STATIC_CAST(CS_INT, 6)
#define CS_SMALLINT_TYPE    TDS_STATIC_CAST(CS_INT, 7)
#define CS_INT_TYPE         TDS_STATIC_CAST(CS_INT, 8)
#define CS_REAL_TYPE        TDS_STATIC_CAST(CS_INT, 9)
#define CS_FLOAT_TYPE       TDS_STATIC_CAST(CS_INT, 10)
#define CS_BIT_TYPE         TDS_STATIC_CAST(CS_INT, 11)
#define CS_DATETIME_TYPE    TDS_STATIC_CAST(CS_INT, 12)
#define CS_DATETIME4_TYPE   TDS_STATIC_CAST(CS_INT, 13)
#define CS_MONEY_TYPE       TDS_STATIC_CAST(CS_INT, 14)
#define CS_MONEY4_TYPE      TDS_STATIC_CAST(CS_INT, 15)
#define CS_NUMERIC_TYPE     TDS_STATIC_CAST(CS_INT, 16)
#define CS_DECIMAL_TYPE     TDS_STATIC_CAST(CS_INT, 17)
#define CS_VARCHAR_TYPE     TDS_STATIC_CAST(CS_INT, 18)
#define CS_VARBINARY_TYPE   TDS_STATIC_CAST(CS_INT, 19)
#define CS_LONG_TYPE        TDS_STATIC_CAST(CS_INT, 20)
#define CS_SENSITIVITY_TYPE TDS_STATIC_CAST(CS_INT, 21)
#define CS_BOUNDARY_TYPE    TDS_STATIC_CAST(CS_INT, 22)
#define CS_VOID_TYPE        TDS_STATIC_CAST(CS_INT, 23)
#define CS_USHORT_TYPE      TDS_STATIC_CAST(CS_INT, 24)
#define CS_UNICHAR_TYPE     TDS_STATIC_CAST(CS_INT, 25)
#define CS_BLOB_TYPE        TDS_STATIC_CAST(CS_INT, 26)
#define CS_DATE_TYPE        TDS_STATIC_CAST(CS_INT, 27)
#define CS_TIME_TYPE        TDS_STATIC_CAST(CS_INT, 28)
#define CS_UNITEXT_TYPE     TDS_STATIC_CAST(CS_INT, 29)
#define CS_BIGINT_TYPE      TDS_STATIC_CAST(CS_INT, 30)
#define CS_USMALLINT_TYPE   TDS_STATIC_CAST(CS_INT, 31)
#define CS_UINT_TYPE        TDS_STATIC_CAST(CS_INT, 32)
#define CS_UBIGINT_TYPE     TDS_STATIC_CAST(CS_INT, 33)
#define CS_XML_TYPE         TDS_STATIC_CAST(CS_INT, 34)
#define CS_BIGDATETIME_TYPE TDS_STATIC_CAST(CS_INT, 35)
#define CS_BIGTIME_TYPE     TDS_STATIC_CAST(CS_INT, 36)
#define CS_UNIQUE_TYPE      TDS_STATIC_CAST(CS_INT, 40)

#define CS_MIN_SYBTYPE CS_CHAR_TYPE
#define CS_MAX_SYBTYPE CS_UNIQUE_TYPE

#define CS_USER_TYPE        TDS_STATIC_CAST(CS_INT, 100)
/* cs_dt_info type values */
enum
{
    CS_MONTH = 7340,
#define CS_MONTH CS_MONTH
    CS_SHORTMONTH,
#define CS_SHORTMONTH CS_SHORTMONTH
    CS_DAYNAME,
#define CS_DAYNAME CS_DAYNAME
    CS_DATEORDER,
#define CS_DATEORDER CS_DATEORDER
    CS_12HOUR,
#define CS_12HOUR CS_12HOUR
    CS_DT_CONVFMT
#define CS_DT_CONVFMT CS_DT_CONVFMT
};

/* DT_CONVFMT types */
enum
{
    CS_DATES_SHORT = 0,
#define CS_DATES_SHORT CS_DATES_SHORT
    CS_DATES_MDY1,
#define CS_DATES_MDY1 CS_DATES_MDY1
    CS_DATES_YMD1,
#define CS_DATES_YMD1 CS_DATES_YMD1
    CS_DATES_DMY1,
#define CS_DATES_DMY1 CS_DATES_DMY1
    CS_DATES_DMY2,
#define CS_DATES_DMY2 CS_DATES_DMY2
    CS_DATES_DMY3,
#define CS_DATES_DMY3 CS_DATES_DMY3
    CS_DATES_DMY4,
#define CS_DATES_DMY4 CS_DATES_DMY4
    CS_DATES_MDY2,
#define CS_DATES_MDY2 CS_DATES_MDY2
    CS_DATES_HMS,
#define CS_DATES_HMS CS_DATES_HMS
    CS_DATES_LONG,
#define CS_DATES_LONG CS_DATES_LONG
    CS_DATES_MDY3,
#define CS_DATES_MDY3 CS_DATES_MDY3
    CS_DATES_YMD2,
#define CS_DATES_YMD2 CS_DATES_YMD2
    CS_DATES_YMD3,
#define CS_DATES_YMD3 CS_DATES_YMD3
    CS_DATES_YDM1,
#define CS_DATES_YDM1 CS_DATES_YDM1
    CS_DATES_MYD1,
#define CS_DATES_MYD1 CS_DATES_MYD1
    CS_DATES_DYM1,
#define CS_DATES_DYM1 CS_DATES_DYM1
    CS_DATES_MDY1_YYYY = 101,
#define CS_DATES_MDY1_YYYY CS_DATES_MDY1_YYYY
    CS_DATES_YMD1_YYYY,
#define CS_DATES_YMD1_YYYY CS_DATES_YMD1_YYYY
    CS_DATES_DMY1_YYYY,
#define CS_DATES_DMY1_YYYY CS_DATES_DMY1_YYYY
    CS_DATES_DMY2_YYYY,
#define CS_DATES_DMY2_YYYY CS_DATES_DMY2_YYYY
    CS_DATES_DMY3_YYYY,
#define CS_DATES_DMY3_YYYY CS_DATES_DMY3_YYYY
    CS_DATES_DMY4_YYYY,
#define CS_DATES_DMY4_YYYY CS_DATES_DMY4_YYYY
    CS_DATES_MDY2_YYYY,
#define CS_DATES_MDY2_YYYY CS_DATES_MDY2_YYYY
    CS_DATES_MDY3_YYYY = 110,
#define CS_DATES_MDY3_YYYY CS_DATES_MDY3_YYYY
    CS_DATES_YMD2_YYYY,
#define CS_DATES_YMD2_YYYY CS_DATES_YMD2_YYYY
    CS_DATES_YMD3_YYYY
#define CS_DATES_YMD3_YYYY CS_DATES_YMD3_YYYY
};

typedef CS_RETCODE(*CS_CONV_FUNC) (CS_CONTEXT * context, CS_DATAFMT * srcfmt, CS_VOID * src, CS_DATAFMT * detsfmt, CS_VOID * dest,
                   CS_INT * destlen);

typedef struct _cs_objname
{
    CS_BOOL thinkexists;
    CS_INT object_type;
#ifdef CS_NO_LARGE_IDENTIFIERS
    CS_CHAR last_name[CS_MAX_NAME];
    CS_INT lnlen;
    CS_CHAR first_name[CS_MAX_NAME];
#else
    CS_CHAR last_name[CS_MAX_CHAR];
    CS_INT lnlen;
    CS_CHAR first_name[CS_MAX_CHAR];
#endif
    CS_INT fnlen;
    CS_VOID *scope;
    CS_INT scopelen;
    CS_VOID *thread;
    CS_INT threadlen;
} CS_OBJNAME;

typedef struct _cs_objdata
{
    CS_BOOL actuallyexists;
    CS_CONNECTION *connection;
    CS_COMMAND *command;
    CS_VOID *buffer;
    CS_INT buflen;
} CS_OBJDATA;

/* Eventually, these should be in terms of TDS values */
enum
{
    CS_OPT_MONDAY = 1,
    CS_OPT_TUESDAY,
    CS_OPT_WEDNESDAY,
    CS_OPT_THURSDAY,
    CS_OPT_FRIDAY,
    CS_OPT_SATURDAY,
    CS_OPT_SUNDAY
};
enum
{
    CS_OPT_FMTMDY = 1,
    CS_OPT_FMTDMY,
    CS_OPT_FMTYMD,
    CS_OPT_FMTYDM,
    CS_OPT_FMTMYD,
    CS_OPT_FMTDYM
};
enum
{
    CS_OPT_LEVEL0 = 0,
    CS_OPT_LEVEL1,
    CS_OPT_LEVEL2,
    CS_OPT_LEVEL3
};

#define CS_FALSE    0
#define CS_TRUE    1

#define SRV_PROC    CS_VOID

/* constants required for ct_diag (not jet implemented) */
#define CS_CLIENTMSG_TYPE 4700
#define CS_SERVERMSG_TYPE 4701
#define CS_ALLMSG_TYPE 4702

CS_RETCODE cs_convert(CS_CONTEXT * ctx, CS_DATAFMT * srcfmt, CS_VOID * srcdata, CS_DATAFMT * destfmt, CS_VOID * destdata,
              CS_INT * resultlen);
CS_RETCODE cs_ctx_alloc(CS_INT version, CS_CONTEXT ** ctx);
CS_RETCODE cs_ctx_global(CS_INT version, CS_CONTEXT ** ctx);
CS_RETCODE cs_ctx_drop(CS_CONTEXT * ctx);
CS_RETCODE cs_config(CS_CONTEXT * ctx, CS_INT action, CS_INT property, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen);
CS_RETCODE cs_strbuild(CS_CONTEXT * ctx, CS_CHAR * buffer, CS_INT buflen, CS_INT * resultlen, CS_CHAR * text, CS_INT textlen,
               CS_CHAR * formats, CS_INT formatlen, ...);
#undef cs_dt_crack
CS_RETCODE cs_dt_crack(CS_CONTEXT * ctx, CS_INT datetype, CS_VOID * dateval, CS_DATEREC * daterec);
CS_RETCODE cs_dt_crack_v2(CS_CONTEXT * ctx, CS_INT datetype, CS_VOID * dateval, CS_DATEREC * daterec);
#define cs_dt_crack cs_dt_crack_v2
CS_RETCODE cs_loc_alloc(CS_CONTEXT * ctx, CS_LOCALE ** locptr);
CS_RETCODE cs_loc_drop(CS_CONTEXT * ctx, CS_LOCALE * locale);
CS_RETCODE cs_locale(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_VOID * buffer, CS_INT buflen,
             CS_INT * outlen);
CS_RETCODE cs_dt_info(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_INT item, CS_VOID * buffer,
              CS_INT buflen, CS_INT * outlen);

CS_RETCODE cs_calc(CS_CONTEXT * ctx, CS_INT op, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_VOID * dest);
CS_RETCODE cs_cmp(CS_CONTEXT * ctx, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_INT * result);
CS_RETCODE cs_conv_mult(CS_CONTEXT * ctx, CS_LOCALE * srcloc, CS_LOCALE * destloc, CS_INT * conv_multiplier);
CS_RETCODE cs_diag(CS_CONTEXT * ctx, CS_INT operation, CS_INT type, CS_INT idx, CS_VOID * buffer);
CS_RETCODE cs_manage_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_CHAR * srcname, CS_INT srcnamelen, CS_INT desttype,
                 CS_CHAR * destname, CS_INT destnamelen, CS_INT * conv_multiplier, CS_CONV_FUNC * func);
CS_RETCODE cs_objects(CS_CONTEXT * ctx, CS_INT action, CS_OBJNAME * objname, CS_OBJDATA * objdata);
CS_RETCODE cs_set_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_INT desttype, CS_CONV_FUNC * func);
CS_RETCODE cs_setnull(CS_CONTEXT * ctx, CS_DATAFMT * datafmt, CS_VOID * buffer, CS_INT buflen);
CS_RETCODE cs_strcmp(CS_CONTEXT * ctx, CS_LOCALE * locale, CS_INT type, CS_CHAR * str1, CS_INT len1, CS_CHAR * str2, CS_INT len2,
             CS_INT * result);
CS_RETCODE cs_time(CS_CONTEXT * ctx, CS_LOCALE * locale, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen, CS_DATEREC * daterec);
CS_RETCODE cs_will_convert(CS_CONTEXT * ctx, CS_INT srctype, CS_INT desttype, CS_BOOL * result);

const char * cs_prretcode(int retcode);

#ifdef __cplusplus
#if 0
{
#endif
}
#endif

#endif

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0123 ]--