2
$Id: oraoci.pp,v 1.3 2003/08/09 15:19:01 marco Exp $
3
Copyright (c) 1999-2000 by Pavel Stingl <stingp1.eti@mail.cez.cz>
6
Oracle Call Interface Translation
8
See the file COPYING.FPC, included in this distribution,
9
for details about the copyright.
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
**********************************************************************}
48
PCardinal = ^cardinal;
53
OCITime = packed record
60
OCIDate = packed record
64
OCIDateTime : OCITime;
67
POCIDateTime = ^TOCIDate;
68
TOCIDate = packed record
78
TCDA_DEF = packed record
101
filler : array [39..64] of byte;
104
PLDA_DEF = ^TCDA_DEF;
110
EB4MAXVAL = 2147483647;
112
UB4MAXVAL = $FFFFFFFF;
114
SB4MAXVAL = 2147483647;
115
SB4MINVAL = -2147483647;
116
MINEB4MAXVAL = 2147483647;
118
MINUB4MAXVAL = $FFFFFFFF;
120
MINSB4MAXVAL = 2147483647;
121
MAXSB4MINVAL = -2147483647;
132
{ OCI Environment Modes for opinit call }
133
OCI_EV_DEF = 0; { default single-threaded environment }
134
OCI_EV_TSF = 1; { thread-safe environment }
136
{ OCI Logon Modes for olog call }
137
OCI_LM_DEF = 0; { default login }
138
OCI_LM_NBL = 1; { non-blocking logon }
140
OCI_ONE_PIECE = 0; { there or this is the only piece }
141
OCI_FIRST_PIECE = 1; { the first of many pieces }
142
OCI_NEXT_PIECE = 2; { the next of many pieces }
143
OCI_LAST_PIECE = 3; { the last piece of this column }
146
SQLT_CHR = 1; { (ORANET TYPE) character string }
147
SQLT_NUM = 2; { (ORANET TYPE) oracle numeric }
148
SQLT_INT = 3; { (ORANET TYPE) integer }
149
SQLT_FLT = 4; { (ORANET TYPE) Floating point number }
150
SQLT_STR = 5; { zero terminated string }
151
SQLT_VNU = 6; { NUM with preceding length byte }
152
SQLT_PDN = 7; { (ORANET TYPE) Packed Decimal Numeric }
153
SQLT_LNG = 8; { long }
154
SQLT_VCS = 9; { Variable character string }
155
SQLT_NON = 10; { Null/empty PCC Descriptor entry }
156
SQLT_RID = 11; { rowid }
157
SQLT_DAT = 12; { date in oracle format }
158
SQLT_VBI = 15; { binary in VCS format }
159
SQLT_BIN = 23; { binary data(DTYBIN) }
160
SQLT_LBI = 24; { long binary }
161
SQLT_UIN = 68; { unsigned integer }
162
SQLT_SLS = 91; { Display sign leading separate }
163
SQLT_LVC = 94; { Longer longs (char) }
164
SQLT_LVB = 95; { Longer long binary }
165
SQLT_AFC = 96; { Ansi fixed char }
166
SQLT_AVC = 97; { Ansi Var char }
167
SQLT_CUR = 102; { cursor type }
168
SQLT_RDD = 104; { rowid descriptor }
169
SQLT_LAB = 105; { label type }
170
SQLT_OSL = 106; { oslabel type }
171
SQLT_NTY = 108; { named object type }
172
SQLT_REF = 110; { ref type }
173
SQLT_CLOB = 112; { character lob }
174
SQLT_BLOB = 113; { binary lob }
175
SQLT_BFILEE = 114; { binary file lob }
176
SQLT_CFILEE = 115; { character file lob }
177
SQLT_RSET = 116; { result set type }
178
SQLT_NCO = 122; { named collection type (varray or nested table) }
179
SQLT_VST = 155; { OCIString type }
180
SQLT_ODT = 156; { OCIDate type }
183
SQLT_FILE = SQLT_BFILEE;
184
SQLT_CFILE = SQLT_CFILEE;
185
SQLT_BFILE = SQLT_BFILEE;
187
{ CHAR/NCHAR/VARCHAR2/NVARCHAR2/CLOB/NCLOB char set "form" information }
188
SQLCS_IMPLICIT = 1; { for CHAR, VARCHAR2, CLOB w/o a specified set }
189
SQLCS_NCHAR = 2; { for NCHAR, NCHAR VARYING, NCLOB }
190
SQLCS_EXPLICIT = 3; { for CHAR, etc, with "CHARACTER SET ..." syntax }
191
SQLCS_FLEXIBLE = 4; { for PL/SQL "flexible" parameters }
192
SQLCS_LIT_NULL = 5; { for typecheck of NULL and empty_clob() lits }
195
OCI_DEFAULT = $00; { the default value for parameters and attributes }
196
OCI_THREADED = $01; { the application is in threaded environment }
197
OCI_OBJECT = $02; { the application is in object environment }
198
OCI_NON_BLOCKING = $04; { non blocking mode of operation }
199
OCI_ENV_NO_MUTEX = $08; { the environment handle will not be protected
200
by a mutex internally }
203
{ handle types range from 1 - 49 }
204
OCI_HTYPE_FIRST = 1; { start value of handle type }
205
OCI_HTYPE_ENV = 1; { environment handle }
206
OCI_HTYPE_ERROR = 2; { error handle }
207
OCI_HTYPE_SVCCTX = 3; { service handle }
208
OCI_HTYPE_STMT = 4; { statement handle }
209
OCI_HTYPE_BIND = 5; { bind handle }
210
OCI_HTYPE_DEFINE = 6; { define handle }
211
OCI_HTYPE_DESCRIBE = 7; { describe handle }
212
OCI_HTYPE_SERVER = 8; { server handle }
213
OCI_HTYPE_SESSION = 9; { authentication handle }
214
OCI_HTYPE_TRANS = 10; { transaction handle }
215
OCI_HTYPE_COMPLEXOBJECT = 11; { complex object retrieval handle }
216
OCI_HTYPE_SECURITY = 12; { security handle }
217
OCI_HTYPE_LAST = 12; { last value of a handle type }
220
{ descriptor values range from 50 - 255 }
221
OCI_DTYPE_FIRST = 50; { start value of descriptor type }
222
OCI_DTYPE_LOB = 50; { lob locator }
223
OCI_DTYPE_SNAP = 51; { snapshot descriptor }
224
OCI_DTYPE_RSET = 52; { result set descriptor }
225
OCI_DTYPE_PARAM = 53; { a parameter descriptor obtained from ocigparm }
226
OCI_DTYPE_ROWID = 54; { rowid descriptor }
227
OCI_DTYPE_COMPLEXOBJECTCOMP = 55; { complex object retrieval descriptor }
228
OCI_DTYPE_FILE = 56; { File Lob locator }
229
OCI_DTYPE_AQENQ_OPTIONS = 57; { enqueue options }
230
OCI_DTYPE_AQDEQ_OPTIONS = 58; { dequeue options }
231
OCI_DTYPE_AQMSG_PROPERTIES = 59; { message properties }
232
OCI_DTYPE_AQAGENT = 60; { aq agent }
233
OCI_DTYPE_LAST = 60; { last value of a descriptor type }
236
OCI_OTYPE_NAME = 1; { object name }
237
OCI_OTYPE_REF = 2; { REF to TDO }
238
OCI_OTYPE_PTR = 3; { PTR to TDO }
241
{ the OCI function code }
242
OCI_ATTR_FNCODE = 1; { the OCI function code }
243
OCI_ATTR_OBJECT = 2; { is the environment initialized in object mode }
244
OCI_ATTR_NONBLOCKING_MODE = 3; { non blocking mode }
245
OCI_ATTR_SQLCODE = 4; { the SQL verb }
246
OCI_ATTR_ENV = 5; { the environment handle }
247
OCI_ATTR_SERVER = 6; { the server handle }
248
OCI_ATTR_SESSION = 7; { the user session handle }
249
OCI_ATTR_TRANS = 8; { the transaction handle }
250
OCI_ATTR_ROW_COUNT = 9; { the rows processed so far }
251
OCI_ATTR_SQLFNCODE = 10; { the SQL verb of the statement }
252
OCI_ATTR_PREFETCH_ROWS = 11; { sets the number of rows to prefetch }
253
OCI_ATTR_NESTED_PREFETCH_ROWS = 12; { the prefetch rows of nested table }
254
OCI_ATTR_PREFETCH_MEMORY = 13; { memory limit for rows fetched }
255
OCI_ATTR_NESTED_PREFETCH_MEMORY = 14; { memory limit for nested rows }
256
OCI_ATTR_CHAR_COUNT = 15; { this specifies the bind and define size in characters }
257
OCI_ATTR_PDSCL = 16; { packed decimal scale }
258
OCI_ATTR_PDFMT = 17; { packed decimal format }
259
OCI_ATTR_PARAM_COUNT = 18; { number of column in the select list }
260
OCI_ATTR_ROWID = 19; { the rowid }
261
OCI_ATTR_CHARSET = 20; { the character set value }
262
OCI_ATTR_NCHAR = 21; { NCHAR type }
263
OCI_ATTR_USERNAME = 22; { username attribute }
264
OCI_ATTR_PASSWORD = 23; { password attribute }
265
OCI_ATTR_STMT_TYPE = 24; { statement type }
266
OCI_ATTR_INTERNAL_NAME = 25; { user friendly global name }
267
OCI_ATTR_EXTERNAL_NAME = 26; { the internal name for global txn }
268
OCI_ATTR_XID = 27; { XOPEN defined global transaction id }
269
OCI_ATTR_TRANS_LOCK = 28; { transaction lock }
270
OCI_ATTR_TRANS_NAME = 29; { string to identify a global transaction }
271
OCI_ATTR_HEAPALLOC = 30; { memory allocated on the heap }
272
OCI_ATTR_CHARSET_ID = 31; { Character Set ID }
273
OCI_ATTR_CHARSET_FORM = 32; { Character Set Form }
274
OCI_ATTR_MAXDATA_SIZE = 33; { Maximumsize of data on the server }
275
OCI_ATTR_CACHE_OPT_SIZE = 34; { object cache optimal size }
276
OCI_ATTR_CACHE_MAX_SIZE = 35; { object cache maximum size percentage }
277
OCI_ATTR_PINOPTION = 36; { object cache default pin option }
278
OCI_ATTR_ALLOC_DURATION = 37; { object cache default allocation duration }
279
OCI_ATTR_PIN_DURATION = 38; { object cache default pin duration }
280
OCI_ATTR_FDO = 39; { Format Descriptor object attribute }
281
OCI_ATTR_POSTPROCESSING_CALLBACK = 40; { Callback to process outbind data }
282
OCI_ATTR_POSTPROCESSING_CONTEXT = 41; { Callback context to process outbind data }
283
OCI_ATTR_ROWS_RETURNED = 42; { Number of rows returned in current iter - for Bind handles }
284
OCI_ATTR_FOCBK = 43; { Failover Callback attribute }
285
OCI_ATTR_IN_V8_MODE = 44; { is the server/service context in V8 mode }
286
OCI_ATTR_LOBEMPTY = 45; { empty lob ? }
287
OCI_ATTR_SESSLANG = 46; { session language handle }
290
OCI_ATTR_VISIBILITY = 47; { visibility }
291
OCI_ATTR_RELATIVE_MSGID = 48; { relative message id }
292
OCI_ATTR_SEQUENCE_DEVIATION = 49; { sequence deviation }
295
OCI_ATTR_CONSUMER_NAME = 50; { consumer name }
296
OCI_ATTR_DEQ_MODE = 51; { dequeue mode }
297
OCI_ATTR_NAVIGATION = 52; { navigation }
298
OCI_ATTR_WAIT = 53; { wait }
299
OCI_ATTR_DEQ_MSGID = 54; { dequeue message id }
301
{ Message Properties }
302
OCI_ATTR_PRIORITY = 55; { priority }
303
OCI_ATTR_DELAY = 56; { delay }
304
OCI_ATTR_EXPIRATION = 57; { expiration }
305
OCI_ATTR_CORRELATION = 58; { correlation id }
306
OCI_ATTR_ATTEMPTS = 59; { # of attempts }
307
OCI_ATTR_RECIPIENT_LIST = 60; { recipient list }
308
OCI_ATTR_EXCEPTION_QUEUE = 61; { exception queue name }
309
OCI_ATTR_ENQ_TIME = 62; { enqueue time (only OCIAttrGet) }
310
OCI_ATTR_MSG_STATE = 63; { message state (only OCIAttrGet) }
313
OCI_ATTR_AGENT_NAME = 64; { agent name }
314
OCI_ATTR_AGENT_ADDRESS = 65; { agent address }
315
OCI_ATTR_AGENT_PROTOCOL = 66; { agent protocol }
317
{ Parameter Attribute Types }
318
OCI_ATTR_UNK = 101; { unknown attribute }
319
OCI_ATTR_NUM_COLS = 102; { number of columns }
320
OCI_ATTR_LIST_COLUMNS = 103; { parameter of the column list }
321
OCI_ATTR_RDBA = 104; { DBA of the segment header }
322
OCI_ATTR_CLUSTERED = 105; { whether the table is clustered }
323
OCI_ATTR_PARTITIONED = 106; { whether the table is partitioned }
324
OCI_ATTR_INDEX_ONLY = 107; { whether the table is index only }
325
OCI_ATTR_LIST_ARGUMENTS = 108; { parameter of the argument list }
326
OCI_ATTR_LIST_SUBPROGRAMS = 109; { parameter of the subprogram list }
327
OCI_ATTR_REF_TDO = 110; { REF to the type descriptor }
328
OCI_ATTR_LINK = 111; { the database link name }
329
OCI_ATTR_MIN = 112; { minimum value }
330
OCI_ATTR_MAX = 113; { maximum value }
331
OCI_ATTR_INCR = 114; { increment value }
332
OCI_ATTR_CACHE = 115; { number of sequence numbers cached }
333
OCI_ATTR_ORDER = 116; { whether the sequence is ordered }
334
OCI_ATTR_HW_MARK = 117; { high-water mark }
335
OCI_ATTR_TYPE_SCHEMA = 118; { type's schema name }
336
OCI_ATTR_TIMESTAMP = 119; { timestamp of the object }
337
OCI_ATTR_NUM_ATTRS = 120; { number of attributes }
338
OCI_ATTR_NUM_PARAMS = 121; { number of parameters }
339
OCI_ATTR_OBJID = 122; { object id for a table or view }
340
OCI_ATTR_PTYPE = 123; { type of info described by }
341
OCI_ATTR_PARAM = 124; { parameter descriptor }
342
OCI_ATTR_OVERLOAD_ID = 125; { overload ID for funcs and procs }
343
OCI_ATTR_TABLESPACE = 126; { table name space }
344
OCI_ATTR_TDO = 127; { TDO of a type }
345
OCI_ATTR_PARSE_ERROR_OFFSET = 128; { Parse Error offset }
348
OCI_CRED_RDBMS = 1; { database username/password }
349
OCI_CRED_EXT = 2; { externally provided credentials }
351
{ Error Return Values }
352
OCI_SUCCESS = 0; { maps to SQL_SUCCESS of SAG CLI }
353
OCI_SUCCESS_WITH_INFO = 1; { maps to SQL_SUCCESS_WITH_INFO }
354
OCI_NO_DATA = 100; { maps to SQL_NO_DATA }
355
OCI_ERROR = -(1); { maps to SQL_ERROR }
356
OCI_INVALID_HANDLE = -(2); { maps to SQL_INVALID_HANDLE }
357
OCI_NEED_DATA = 99; { maps to SQL_NEED_DATA }
358
OCI_STILL_EXECUTING = -(3123); { OCI would block error }
359
OCI_CONTINUE = -(24200); { Continue with the body of the OCI function }
361
{ Parsing Syntax Types }
362
OCI_V7_SYNTAX = 2; { V7 language }
363
OCI_V8_SYNTAX = 3; { V8 language }
365
{ Use what so ever is the native lang of server }
366
{ these values must match the values defined in kpul.h }
368
{ Scrollable Cursor Options }
369
OCI_FETCH_NEXT = $02; { next row }
370
OCI_FETCH_FIRST = $04; { first row of the result set }
371
OCI_FETCH_LAST = $08; { the last row of the result set }
372
OCI_FETCH_PRIOR = $10; { the previous row relative to current }
373
OCI_FETCH_ABSOLUTE = $20; { absolute offset from first }
374
OCI_FETCH_RELATIVE = $40; { offset relative to current }
376
{ Bind and Define Options }
377
OCI_SB2_IND_PTR = $01; { unused }
378
OCI_DATA_AT_EXEC = $02; { data at execute time }
379
OCI_DYNAMIC_FETCH = $02; { fetch dynamically }
380
OCI_PIECEWISE = $04; { piecewise DMLs or fetch }
383
OCI_BATCH_MODE = $01; { batch the oci statement for execution }
384
OCI_EXACT_FETCH = $02; { fetch the exact rows specified }
385
OCI_KEEP_FETCH_STATE = $04; { unused }
386
OCI_SCROLLABLE_CURSOR = $08; { cursor scrollable }
387
OCI_DESCRIBE_ONLY = $10; { only describe the statement }
388
OCI_COMMIT_ON_SUCCESS = $20; { commit, if successful execution }
390
{ Authentication Modes }
391
OCI_MIGRATE = $0001; { migratable auth context }
392
OCI_SYSDBA = $0002; { for SYSDBA authorization }
393
OCI_SYSOPER = $0004; { for SYSOPER authorization }
394
OCI_PRELIM_AUTH = $0008; { for preliminary authorization }
396
{ Piece Information }
397
OCI_PARAM_IN = $01; { in parameter }
398
OCI_PARAM_OUT = $02; { out parameter }
400
{ Transaction Start Flags }
401
{ NOTE: OCI_TRANS_JOIN and OCI_TRANS_NOMIGRATE not supported in 8.0.X }
402
{ starts a new transaction branch }
403
OCI_TRANS_NEW = $00000001; { starts a new transaction branch }
404
OCI_TRANS_JOIN = $00000002; { join an existing transaction }
405
OCI_TRANS_RESUME = $00000004; { resume this transaction }
406
OCI_TRANS_STARTMASK = $000000ff;
407
OCI_TRANS_READONLY = $00000100; { starts a readonly transaction }
408
OCI_TRANS_READWRITE = $00000200; { starts a read-write transaction }
409
OCI_TRANS_SERIALIZABLE = $00000400; { starts a serializable transaction }
410
OCI_TRANS_ISOLMASK = $0000ff00;
411
OCI_TRANS_LOOSE = $00010000; { a loosely coupled branch }
412
OCI_TRANS_TIGHT = $00020000; { a tightly coupled branch }
413
OCI_TRANS_TYPEMASK = $000f0000;
414
OCI_TRANS_NOMIGRATE = $00100000; { non migratable transaction }
416
{ Transaction End Flags }
417
OCI_TRANS_TWOPHASE = $01000000; { use two phase commit }
420
NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
421
The following constants must match the PL/SQL dbms_aq constants
422
NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
425
OCI_ENQ_IMMEDIATE = 1; { enqueue is an independent transaction }
426
OCI_ENQ_ON_COMMIT = 2; { enqueue is part of current transaction }
428
OCI_DEQ_BROWSE = 1; { read message without acquiring a lock }
429
OCI_DEQ_LOCKED = 2; { read and obtain write lock on message }
430
OCI_DEQ_REMOVE = 3; { read the message and delete it }
432
{ Dequeue navigation flags }
433
OCI_DEQ_FIRST_MSG = 1; { get first message at head of queue }
434
OCI_DEQ_NEXT_MSG = 3; { next message that is available }
435
OCI_DEQ_NEXT_TRANSACTION = 2; { get first message of next txn group }
438
OCI_MSG_WAITING = 1; { the message delay has not yet completed }
439
OCI_MSG_READY = 0; { the message is ready to be processed }
440
OCI_MSG_PROCESSED = 2; { the message has been processed }
441
OCI_MSG_EXPIRED = 3; { message has moved to exception queue }
443
{ Sequence deviation }
444
OCI_ENQ_BEFORE = 2; { enqueue message before another message }
445
OCI_ENQ_TOP = 3; { enqueue message before all messages }
448
OCI_DEQ_IMMEDIATE = 1; { dequeue is an independent transaction }
449
OCI_DEQ_ON_COMMIT = 2; { dequeue is part of current transaction }
452
OCI_DEQ_WAIT_FOREVER = -(1); { wait forever if no message available }
453
OCI_DEQ_NO_WAIT = 0; { do not wait if no message is available }
456
OCI_MSG_NO_DELAY = 0; { message is available immediately }
459
OCI_MSG_NO_EXPIRATION = -(1); { message will never expire }
461
{ -------------------------- END AQ Constants ----------------------------- }
462
{-----------Object Types Not to be Used -------------------------- }
473
{ Describe Handle Parameter Attributes }
474
{ Attributes common to Columns and Stored Procs }
475
OCI_ATTR_DATA_SIZE = 1; { maximum size of the data }
476
OCI_ATTR_DATA_TYPE = 2; { the SQL type of the column/argument }
477
OCI_ATTR_DISP_SIZE = 3; { the display size }
478
OCI_ATTR_NAME = 4; { the name of the column/argument }
479
OCI_ATTR_PRECISION = 5; { precision if number type }
480
OCI_ATTR_SCALE = 6; { scale if number type }
481
OCI_ATTR_IS_NULL = 7; { is it null ? }
482
OCI_ATTR_TYPE_NAME = 8; { name of the named data type or a package name for package private types }
483
OCI_ATTR_SCHEMA_NAME = 9; { the schema name }
484
OCI_ATTR_SUB_NAME = 10; { type name if package private type }
485
OCI_ATTR_POSITION = 11; { relative position of col/arg in the list of cols/args }
486
OCI_ATTR_COMPLEXOBJECTCOMP_TYPE = 50; { complex object retrieval parameter attributes }
487
OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL = 51;
488
OCI_ATTR_COMPLEXOBJECT_LEVEL = 52;
489
OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE = 53;
492
OCI_ATTR_DISP_NAME = 100; { the display name }
495
OCI_ATTR_OVERLOAD = 210; { is this position overloaded }
496
OCI_ATTR_LEVEL = 211; { level for structured types }
497
OCI_ATTR_HAS_DEFAULT = 212; { has a default value }
498
OCI_ATTR_IOMODE = 213; { in, out inout }
499
OCI_ATTR_RADIX = 214; { returns a radix }
500
OCI_ATTR_NUM_ARGS = 215; { total number of arguments }
502
{ only named type attributes }
503
OCI_ATTR_TYPECODE = 216; { object or collection }
504
OCI_ATTR_COLLECTION_TYPECODE = 217; { varray or nested table }
505
OCI_ATTR_VERSION = 218; { user assigned version }
506
OCI_ATTR_IS_INCOMPLETE_TYPE = 219; { is this an incomplete type }
507
OCI_ATTR_IS_SYSTEM_TYPE = 220; { a system type }
508
OCI_ATTR_IS_PREDEFINED_TYPE = 221; { a predefined type }
509
OCI_ATTR_IS_TRANSIENT_TYPE = 222; { a transient type }
510
OCI_ATTR_IS_SYSTEM_GENERATED_TYPE = 223; { system generated type }
511
OCI_ATTR_HAS_NESTED_TABLE = 224; { contains nested table attr }
512
OCI_ATTR_HAS_LOB = 225; { has a lob attribute }
513
OCI_ATTR_HAS_FILE = 226; { has a file attribute }
514
OCI_ATTR_COLLECTION_ELEMENT = 227; { has a collection attribute }
515
OCI_ATTR_NUM_TYPE_ATTRS = 228; { number of attribute types }
516
OCI_ATTR_LIST_TYPE_ATTRS = 229; { list of type attributes }
517
OCI_ATTR_NUM_TYPE_METHODS = 230; { number of type methods }
518
OCI_ATTR_LIST_TYPE_METHODS = 231; { list of type methods }
519
OCI_ATTR_MAP_METHOD = 232; { map method of type }
520
OCI_ATTR_ORDER_METHOD = 233; { order method of type }
522
{ only collection element }
523
OCI_ATTR_NUM_ELEMS = 234; { number of elements }
525
{ only type methods }
526
OCI_ATTR_ENCAPSULATION = 235; { encapsulation level }
527
OCI_ATTR_IS_SELFISH = 236; { method selfish }
528
OCI_ATTR_IS_VIRTUAL = 237; { virtual }
529
OCI_ATTR_IS_INLINE = 238; { inline }
530
OCI_ATTR_IS_CONSTANT = 239; { constant }
531
OCI_ATTR_HAS_RESULT = 240; { has result }
532
OCI_ATTR_IS_CONSTRUCTOR = 241; { constructor }
533
OCI_ATTR_IS_DESTRUCTOR = 242; { destructor }
534
OCI_ATTR_IS_OPERATOR = 243; { operator }
535
OCI_ATTR_IS_MAP = 244; { a map method }
536
OCI_ATTR_IS_ORDER = 245; { order method }
537
OCI_ATTR_IS_RNDS = 246; { read no data state method }
538
OCI_ATTR_IS_RNPS = 247; { read no process state }
539
OCI_ATTR_IS_WNDS = 248; { write no data state method }
540
OCI_ATTR_IS_WNPS = 249; { write no process state }
542
{ describing public objects }
543
OCI_ATTR_DESC_PUBLIC = 250; { public object }
545
{---------------------------OCIPasswordChange------------------------------- }
546
OCI_AUTH = $08; { Change the password but do not login }
548
{------------------------Other Constants------------------------------------ }
549
OCI_MAX_FNS = 100; { max number of OCI Functions }
550
OCI_SQLSTATE_SIZE = 5;
551
OCI_ERROR_MAXMSG_SIZE = 1024; { max size of an error message }
552
OCI_LOBMAXSIZE = MINUB4MAXVAL; { maximum lob data size }
554
{------------------------ Fail Over Events --------------------------------- }
555
OCI_FO_END = $00000001;
556
OCI_FO_ABORT = $00000002;
557
OCI_FO_REAUTH = $00000004;
558
OCI_FO_BEGIN = $00000008;
559
OCI_FO_ERROR = $00000010;
560
{------------------------- Fail Over Types --------------------------------- }
561
OCI_FO_NONE = $00000001;
562
OCI_FO_SESSION = $00000002;
563
OCI_FO_SELECT = $00000004;
564
OCI_FO_TXNAL = $00000008;
565
{-----------------------Function Codes-------------------------------------- }
567
OCI_FNCODE_INITIALIZE = 1;
569
OCI_FNCODE_HANDLEALLOC = 2;
571
OCI_FNCODE_HANDLEFREE = 3;
572
{ OCIDescriptorAlloc }
573
OCI_FNCODE_DESCRIPTORALLOC = 4;
574
{ OCIDescriptorFree }
575
OCI_FNCODE_DESCRIPTORFREE = 5;
577
OCI_FNCODE_ENVINIT = 6;
579
OCI_FNCODE_SERVERATTACH = 7;
581
OCI_FNCODE_SERVERDETACH = 8;
584
OCI_FNCODE_SESSIONBEGIN = 10;
586
OCI_FNCODE_SESSIONEND = 11;
587
{ OCIPasswordChange }
588
OCI_FNCODE_PASSWORDCHANGE = 12;
590
OCI_FNCODE_STMTPREPARE = 13;
593
OCI_FNCODE_BINDDYNAMIC = 17;
595
OCI_FNCODE_BINDOBJECT = 18;
597
{ OCIBindArrayOfStruct }
598
OCI_FNCODE_BINDARRAYOFSTRUCT = 20;
600
OCI_FNCODE_STMTEXECUTE = 21;
603
OCI_FNCODE_DEFINEOBJECT = 25;
605
OCI_FNCODE_DEFINEDYNAMIC = 26;
606
{ OCIDefineArrayOfStruct }
607
OCI_FNCODE_DEFINEARRAYOFSTRUCT = 27;
609
OCI_FNCODE_STMTFETCH = 28;
610
{ OCIStmtGetBindInfo }
611
OCI_FNCODE_STMTGETBIND = 29;
614
OCI_FNCODE_DESCRIBEANY = 32;
616
OCI_FNCODE_TRANSSTART = 33;
618
OCI_FNCODE_TRANSDETACH = 34;
620
OCI_FNCODE_TRANSCOMMIT = 35;
623
OCI_FNCODE_ERRORGET = 37;
625
OCI_FNCODE_LOBOPENFILE = 38;
627
OCI_FNCODE_LOBCLOSEFILE = 39;
628
{ 40 was LOBCREATEFILE, unused }
629
{ 41 was OCILobFileDelete, unused }
631
OCI_FNCODE_LOBCOPY = 42;
633
OCI_FNCODE_LOBAPPEND = 43;
635
OCI_FNCODE_LOBERASE = 44;
637
OCI_FNCODE_LOBLENGTH = 45;
639
OCI_FNCODE_LOBTRIM = 46;
641
OCI_FNCODE_LOBREAD = 47;
643
OCI_FNCODE_LOBWRITE = 48;
646
OCI_FNCODE_SVCCTXBREAK = 50;
648
OCI_FNCODE_SERVERVERSION = 51;
651
OCI_FNCODE_ATTRGET = 54;
653
OCI_FNCODE_ATTRSET = 55;
655
OCI_FNCODE_PARAMSET = 56;
657
OCI_FNCODE_PARAMGET = 57;
658
{ OCIStmtGetPieceInfo }
659
OCI_FNCODE_STMTGETPIECEINFO = 58;
661
OCI_FNCODE_LDATOSVCCTX = 59;
663
{ OCIStmtSetPieceInfo }
664
OCI_FNCODE_STMTSETPIECEINFO = 61;
666
OCI_FNCODE_TRANSFORGET = 62;
668
OCI_FNCODE_TRANSPREPARE = 63;
670
OCI_FNCODE_TRANSROLLBACK = 64;
672
OCI_FNCODE_DEFINEBYPOS = 65;
674
OCI_FNCODE_BINDBYPOS = 66;
676
OCI_FNCODE_BINDBYNAME = 67;
678
OCI_FNCODE_LOBASSIGN = 68;
680
OCI_FNCODE_LOBISEQUAL = 69;
681
{ OCILobLocatorIsInit }
682
OCI_FNCODE_LOBISINIT = 70;
683
{ 71 was lob locator size in beta2 }
684
{ OCILobEnableBuffering }
685
OCI_FNCODE_LOBENABLEBUFFERING = 71;
687
OCI_FNCODE_LOBCHARSETID = 72;
688
{ OCILobCharSetForm }
689
OCI_FNCODE_LOBCHARSETFORM = 73;
690
{ OCILobFileSetName }
691
OCI_FNCODE_LOBFILESETNAME = 74;
692
{ OCILobFileGetName }
693
OCI_FNCODE_LOBFILEGETNAME = 75;
695
OCI_FNCODE_LOGON = 76;
697
OCI_FNCODE_LOGOFF = 77;
698
{ OCILobDisableBuffering }
699
OCI_FNCODE_LOBDISABLEBUFFERING = 78;
700
{ OCILobFlushBuffer }
701
OCI_FNCODE_LOBFLUSHBUFFER = 79;
702
{ OCILobLoadFromFile }
703
OCI_FNCODE_LOBLOADFROMFILE = 80;
705
{--------------------------- FILE open modes ------------------------------- }
706
OCI_FILE_READONLY = 1; { readonly mode open for FILE types }
708
{----------------------- LOB Buffering Flush Flags ------------------------- }
709
OCI_LOB_BUFFER_FREE = 1;
710
OCI_LOB_BUFFER_NOFREE = 2;
712
{--------------------------- OCI Statement Types --------------------------- }
713
OCI_STMT_SELECT = 1; { select statement }
714
OCI_STMT_UPDATE = 2; { update statement }
715
OCI_STMT_DELETE = 3; { delete statement }
716
OCI_STMT_INSERT = 4; { Insert Statement }
717
OCI_STMT_CREATE = 5; { create statement }
718
OCI_STMT_DROP = 6; { drop statement }
719
OCI_STMT_ALTER = 7; { alter statement }
720
OCI_STMT_BEGIN = 8; { begin ... (pl/sql statement) }
721
OCI_STMT_DECLARE = 9; { declare .. (pl/sql statement ) }
723
{--------------------------- OCI Parameter Types --------------------------- }
724
OCI_PTYPE_UNK = 0; { unknown }
725
OCI_PTYPE_TABLE = 1; { table }
726
OCI_PTYPE_VIEW = 2; { view }
727
OCI_PTYPE_PROC = 3; { procedure }
728
OCI_PTYPE_FUNC = 4; { function }
729
OCI_PTYPE_PKG = 5; { package }
730
OCI_PTYPE_TYPE = 6; { user-defined type }
731
OCI_PTYPE_SYN = 7; { synonym }
732
OCI_PTYPE_SEQ = 8; { sequence }
733
OCI_PTYPE_COL = 9; { column }
734
OCI_PTYPE_ARG = 10; { argument }
735
OCI_PTYPE_LIST = 11; { list }
736
OCI_PTYPE_TYPE_ATTR = 12; { user-defined type's attribute }
737
OCI_PTYPE_TYPE_COLL = 13; { collection type's element }
738
OCI_PTYPE_TYPE_METHOD = 14; { collection type's element }
739
OCI_PTYPE_TYPE_ARG = 15; { user-defined type method's argument }
740
OCI_PTYPE_TYPE_RESULT = 16; { user-defined type method's result }
742
{----------------------------- OCI List Types ------------------------------ }
743
OCI_LTYPE_UNK = 0; { unknown }
744
OCI_LTYPE_COLUMN = 1; { column list }
745
OCI_LTYPE_ARG_PROC = 2; { procedure argument list }
746
OCI_LTYPE_ARG_FUNC = 3; { function argument list }
747
OCI_LTYPE_SUBPRG = 4; { subprogram list }
748
OCI_LTYPE_TYPE_ATTR = 5; { type attribute }
749
OCI_LTYPE_TYPE_METHOD = 6; { type method }
750
OCI_LTYPE_TYPE_ARG_PROC = 7; { type method w/o result argument list }
751
OCI_LTYPE_TYPE_ARG_FUNC = 8; { type method w/result argument list }
753
type { Handle Definitions
755
OCIEnv = pointer; { OCI environment handle
757
OCIError = pointer; { OCI error handle
759
OCISvcCtx = pointer; { OCI service handle }
760
OCIStmt = pointer; { OCI statement handle }
761
OCIBind = pointer; { OCI bind handle
763
OCIDefine = pointer; { OCI Define handle
765
OCIDescribe = pointer; { OCI Describe handle
767
OCIServer = pointer; { OCI Server handle
769
OCISession = pointer; { OCI Authentication handle
771
OCIComplexObject = pointer; { OCI COR handle
773
OCITrans = pointer; { OCI Transaction handle
775
OCISecurity = pointer; { OCI Security handle
777
OCIDirPathCtx = pointer; { OCI Direct Path handle
781
OCILobLocator = pointer; { OCI LOB Locator }
783
OCICallbackInBind = pointer;
784
OCICallbackOutBind = pointer;
785
OCISnapshot = pointer;
787
OCICallbackDefine = pointer;
791
function OCIErrorGet(
795
var errcodep:plongint;
798
AType:cardinal):sword;cdecl;
800
function OCIInitialize(
805
mfreefp:pointer):sword;cdecl;
807
function OCIHandleAlloc(
812
usrmempp:pointer):sword;cdecl;
814
function OCIHandleFree(
816
AType:cardinal):sword;cdecl;
823
usrmempp: pointer): sword; cdecl;
825
function OCIDescriptorAlloc(
830
usrmempp:pointer):sword;cdecl;
832
function OCIDescriptorFree(
834
AType:cardinal):sword;cdecl;
836
function OCIServerAttach(
841
mode:cardinal):sword;cdecl;
843
function OCIServerDetach(
846
mode:cardinal):sword;cdecl;
848
function OCISessionBegin(
853
mode:cardinal):sword;cdecl;
855
function OCISessionEnd(
859
mode:cardinal):sword;cdecl;
870
dbname_len:cardinal):sword;cdecl;
874
errhp:OCIError):sword;cdecl;
876
{----------------------------------------------------------------------------}
878
function OCIPasswordChange(
884
opasswd_len:cardinal;
886
npasswd_len:cardinal;
887
mode:cardinal):sword;cdecl;
889
function OCIStmtPrepare(
895
mode:cardinal):sword;cdecl;
897
function OCIBindByPos(
906
alenp:pword; rcodep:pword;
909
mode:cardinal):sword;cdecl;
911
function OCIBindByName(
925
mode:cardinal):sword;cdecl;
927
function OCIBindObject(
934
indszp:pcardinal):sword;cdecl;
936
function OCIBindDynamic(
940
icbfp:OCICallbackInBind;
942
ocbfp:OCICallbackOutBind):sword;cdecl;
944
function OCIBindArrayOfStruct(
950
rcskip:cardinal):sword;cdecl;
952
function OCIStmtGetPieceInfo(
960
piecep:pbyte):sword;cdecl;
962
function OCIStmtSetPieceInfo(
970
rcodep:pword):sword;cdecl;
972
function OCIStmtExecute(
979
snap_out:OCISnapshot;
980
mode:cardinal):sword;cdecl;
982
function OCIDefineByPos(
993
mode:cardinal):sword;cdecl;
995
function OCIDefineObject(
1002
indszp:pcardinal):sword;cdecl;
1004
function OCIDefineDynamic(
1008
ocbfp:OCICallbackDefine):sword;cdecl;
1010
function OCIDefineArrayOfStruct(
1016
rcskip:cardinal):sword;cdecl;
1018
function OCIStmtFetch(
1023
mode:cardinal):sword;cdecl;
1025
function OCIStmtGetBindInfo(
1036
hndl:OCIBind):sword;cdecl;
1038
function OCIDescribeAny(
1046
dschp:OCIDescribe):sword;cdecl;
1048
function OCIParamGet(
1053
pos:cardinal):sword;cdecl;
1055
function OCIParamSet(
1061
pos:cardinal):sword;cdecl;
1063
function OCITransStart(
1067
flags:cardinal):sword;cdecl;
1069
function OCITransDetach(
1072
flags:cardinal):sword;cdecl;
1074
function OCITransCommit(
1077
flags:cardinal):sword;cdecl;
1079
function OCITransRollback(
1082
flags:cardinal):sword;cdecl;
1084
function OCITransPrepare(
1087
flags:cardinal):sword;cdecl;
1089
function OCITransForget(
1092
flags:cardinal):sword;cdecl;
1094
function OCILobAppend(
1097
dst_locp:OCILobLocator;
1098
src_locp:OCILobLocator):sword;cdecl;
1100
function OCILobAssign(
1103
src_locp:OCILobLocator;
1104
dst_locpp:OCILobLocator):sword;cdecl;
1106
function OCILobCharSetForm(
1110
csfrm:pbyte):sword;cdecl;
1112
function OCILobCharSetId(
1116
csid:pword):sword;cdecl;
1118
function OCILobCopy(
1121
dst_locp:OCILobLocator;
1122
src_locp:OCILobLocator;
1124
dst_offset:cardinal;
1125
src_offset:cardinal):sword;cdecl;
1127
function OCILobDisableBuffering(
1130
locp:OCILobLocator):sword;cdecl;
1132
function OCILobEnableBuffering(
1135
locp:OCILobLocator):sword;cdecl;
1137
function OCILobErase(
1142
offset:cardinal):sword;cdecl;
1144
function OCILobFileClose(
1147
filep:OCILobLocator):sword;cdecl;
1149
function OCILobFileCloseAll(
1151
errhp:OCIError):sword;cdecl;
1153
function OCILobFileExists(
1156
filep:OCILobLocator;
1157
flag:pboolean):sword;cdecl;
1159
function OCILobFileGetName(
1162
filep:OCILobLocator;
1166
f_length:pword):sword;cdecl;
1168
function OCILobFileIsOpen(
1171
filep:OCILobLocator;
1172
flag:pboolean):sword;cdecl;
1174
function OCILobFileOpen(
1177
filep:OCILobLocator;
1178
mode:byte):sword;cdecl;
1180
function OCILobFileSetName(
1183
filepp:OCILobLocator;
1187
f_length:word):sword;cdecl;
1189
function OCILobFlushBuffer(
1193
flag:cardinal):sword;cdecl;
1195
function OCILobGetLength(
1199
lenp:pcardinal):sword;cdecl;
1201
function OCILobIsEqual(
1205
is_equal:pboolean):sword;cdecl;
1207
function OCILobLoadFromFile(
1210
dst_locp:OCILobLocator;
1211
src_filep:OCILobLocator;
1213
dst_offset:cardinal;
1214
src_offset:cardinal):sword;cdecl;
1216
function OCILobLocatorIsInit(
1220
is_initialized:pboolean):sword;cdecl;
1222
function OCILobRead(
1233
csfrm:byte):sword;cdecl;
1235
function OCILobTrim(
1239
newlen:cardinal):sword;cdecl;
1241
function OCILobWrite(
1253
csfrm:byte):sword;cdecl;
1257
errhp:OCIError):sword;cdecl;
1261
errhp:OCIError):sword;cdecl;
1263
function OCIServerVersion(
1268
hndltype:byte):sword;cdecl;
1270
function OCIAttrGet(
1272
trghndltyp:cardinal;
1276
errhp:OCIError):sword;cdecl;
1278
function OCIAttrSet(
1280
trghndltyp:cardinal;
1284
errhp:OCIError):sword;cdecl;
1286
function OCISvcCtxToLda(
1289
ldap:pLda_Def):sword;cdecl;
1291
function OCILdaToSvcCtx(
1294
ldap:pLda_Def):sword;cdecl;
1296
function OCIResultSetToStmt(
1298
errhp:OCIError):sword;cdecl;
1300
{-------------------------------------------------------------------------------------------}
1301
{ Security Package }
1302
{-------------------------------------------------------------------------------------------}
1304
function OCISecurityInitialize(sechandle:pOCISecurity; error_handle:OCIError):sword;cdecl;
1306
function OCISecurityTerminate(sechandle:pOCISecurity; error_handle:OCIError):sword;cdecl;
1308
function OCISecurityOpenWallet(osshandle:pOCISecurity; error_handle:OCIError; wrllen:size_t; wallet_resource_locator:PChar; pwdlen:size_t;
1309
password:PChar; wallet:pnzttWallet):sword;cdecl;
1311
function OCISecurityCloseWallet(osshandle:pOCISecurity; error_handle:OCIError; wallet:pnzttWallet):sword;cdecl;
1313
function OCISecurityCreateWallet(osshandle:pOCISecurity; error_handle:OCIError; wrllen:size_t; wallet_resource_locator:PChar; pwdlen:size_t;
1314
password:PChar; wallet:pnzttWallet):sword;cdecl;
1316
function OCISecurityDestroyWallet(osshandle:pOCISecurity; error_handle:OCIError; wrllen:size_t; wallet_resource_locator:PChar; pwdlen:size_t;
1317
password:PChar):sword;cdecl;
1319
function OCISecurityStorePersona(osshandle:pOCISecurity; error_handle:OCIError; persona:ppnzttPersona; wallet:pnzttWallet):sword;cdecl;
1321
function OCISecurityOpenPersona(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona):sword;cdecl;
1323
function OCISecurityClosePersona(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona):sword;cdecl;
1325
function OCISecurityRemovePersona(osshandle:pOCISecurity; error_handle:OCIError; persona:ppnzttPersona):sword;cdecl;
1327
function OCISecurityCreatePersona(osshandle:pOCISecurity; error_handle:OCIError; identity_type:nzttIdentType; cipher_type:nzttCipherType; desc:pnzttPersonaDesc;
1328
persona:ppnzttPersona):sword;cdecl;
1330
function OCISecuritySetProtection(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; crypto_engine_function:nzttcef; data_unit_format:nztttdufmt;
1331
protection_info:pnzttProtInfo):sword;cdecl;
1333
function OCISecurityGetProtection(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; crypto_engine_function:nzttcef; data_unit_format_ptr:pnztttdufmt;
1334
protection_info:pnzttProtInfo):sword;cdecl;
1336
function OCISecurityRemoveIdentity(osshandle:pOCISecurity; error_handle:OCIError; identity_ptr:ppnzttIdentity):sword;cdecl;
1338
function OCISecurityCreateIdentity(osshandle:pOCISecurity; error_handle:OCIError; AType:nzttIdentType; desc:pnzttIdentityDesc; identity_ptr:ppnzttIdentity):sword;cdecl;
1340
function OCISecurityAbortIdentity(osshandle:pOCISecurity; error_handle:OCIError; identity_ptr:ppnzttIdentity):sword;cdecl;
1342
function OCISecurityFreeIdentity(osshandle:pOCISecurity; error_handle:OCIError; identity_ptr:ppnzttIdentity):sword;cdecl;
1344
function OCISecurityStoreTrustedIdentity(osshandle:pOCISecurity; error_handle:OCIError; identity_ptr:ppnzttIdentity; persona:pnzttPersona):sword;cdecl;
1346
function OCISecuritySign(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; signature_state:nzttces; input_length:size_t;
1347
input:pbyte; buffer_block:pnzttBufferBlock):sword;cdecl;
1349
function OCISecuritySignExpansion(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; inputlen:size_t; signature_length:psize_t):sword;cdecl;
1351
function OCISecurityVerify(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; signature_state:nzttces; siglen:size_t;
1352
signature:pbyte; extracted_message:pnzttBufferBlock; verified:pboolean; validated:pboolean; signing_party_identity:ppnzttIdentity):sword;cdecl;
1354
function OCISecurityValidate(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; identity:pnzttIdentity; validated:pboolean):sword;cdecl;
1356
function OCISecuritySignDetached(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; signature_state:nzttces; input_length:size_t;
1357
input:pbyte; signature:pnzttBufferBlock):sword;cdecl;
1359
function OCISecuritySignDetExpansion(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; input_length:size_t; required_buffer_length:psize_t):sword;cdecl;
1361
function OCISecurityVerifyDetached(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; signature_state:nzttces; data_length:size_t;
1362
data:pbyte; siglen:size_t; signature:pbyte; verified:pboolean; validated:pboolean;
1363
signing_party_identity:ppnzttIdentity):sword;cdecl;
1365
function OCISecurity_PKEncrypt(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; number_of_recipients:size_t; recipient_list:pnzttIdentity;
1366
encryption_state:nzttces; input_length:size_t; input:pbyte; encrypted_data:pnzttBufferBlock):sword;cdecl;
1368
function OCISecurityPKEncryptExpansion(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; number_recipients:size_t; input_length:size_t;
1369
buffer_length_required:psize_t):sword;cdecl;
1371
function OCISecurityPKDecrypt(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; encryption_state:nzttces; input_length:size_t;
1372
input:pbyte; encrypted_data:pnzttBufferBlock):sword;cdecl;
1374
function OCISecurityEncrypt(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; encryption_state:nzttces; input_length:size_t;
1375
input:pbyte; encrypted_data:pnzttBufferBlock):sword;cdecl;
1377
function OCISecurityEncryptExpansion(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; input_length:size_t; encrypted_data_length:psize_t):sword;cdecl;
1379
function OCISecurityDecrypt(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; decryption_state:nzttces; input_length:size_t;
1380
input:pbyte; decrypted_data:pnzttBufferBlock):sword;cdecl;
1382
function OCISecurityEnvelope(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; number_of_recipients:size_t; identity:pnzttIdentity;
1383
encryption_state:nzttces; input_length:size_t; input:pbyte; enveloped_data:pnzttBufferBlock):sword;cdecl;
1385
function OCISecurityDeEnvelope(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; decryption_state:nzttces; input_length:size_t;
1386
input:pbyte; output_message:pnzttBufferBlock; verified:pboolean; validated:pboolean; sender_identity:ppnzttIdentity):sword;cdecl;
1388
function OCISecurityKeyedHash(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; hash_state:nzttces; input_length:size_t;
1389
input:pbyte; keyed_hash:pnzttBufferBlock):sword;cdecl;
1391
function OCISecurityKeyedHashExpansion(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; input_length:size_t; required_buffer_length:psize_t):sword;cdecl;
1393
function OCISecurityHash(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; hash_state:nzttces; input:size_t;
1394
input_length:pbyte; hash:pnzttBufferBlock):sword;cdecl;
1396
function OCISecurityHashExpansion(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; input_length:size_t; required_buffer_length:psize_t):sword;cdecl;
1398
function OCISecuritySeedRandom(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; seed_length:size_t; seed:pbyte):sword;cdecl;
1400
function OCISecurityRandomBytes(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; number_of_bytes_desired:size_t; random_bytes:pnzttBufferBlock):sword;cdecl;
1402
function OCISecurityRandomNumber(osshandle:pOCISecurity; error_handle:OCIError; persona:pnzttPersona; random_number_ptr:puword):sword;cdecl;
1404
function OCISecurityInitBlock(osshandle:pOCISecurity; error_handle:OCIError; buffer_block:pnzttBufferBlock):sword;cdecl;
1406
function OCISecurityReuseBlock(osshandle:pOCISecurity; error_handle:OCIError; buffer_block:pnzttBufferBlock):sword;cdecl;
1408
function OCISecurityPurgeBlock(osshandle:pOCISecurity; error_handle:OCIError; buffer_block:pnzttBufferBlock):sword;cdecl;
1410
function OCISecuritySetBlock(osshandle:pOCISecurity; error_handle:OCIError; flags_to_set:uword; buffer_length:size_t; used_buffer_length:size_t;
1411
buffer:pbyte; buffer_block:pnzttBufferBlock):sword;cdecl;
1413
function OCISecurityGetIdentity(osshandle:pOCISecurity; error_handle:OCIError; namelen:size_t; distinguished_name:PChar; identity:ppnzttIdentity):sword;cdecl;
1415
function OCIAQEnq(svchp:OCISvcCtx; errhp:OCIError; queue_name:PChar; enqopt:pOCIAQEnqOptions; msgprop:pOCIAQMsgProperties;
1416
payload_tdo:pOCIType; payload:ppointer; payload_ind:ppointer; msgid:ppOCIRaw; flags:cardinal):sword;cdecl;
1418
function OCIAQDeq(svchp:OCISvcCtx; errhp:OCIError; queue_name:PChar; deqopt:pOCIAQDeqOptions; msgprop:pOCIAQMsgProperties;
1419
payload_tdo:pOCIType; payload:ppointer; payload_ind:ppointer; msgid:ppOCIRaw; flags:cardinal):sword;cdecl;
1422
{-------------------------------------------------------------------------------------------}
1423
{ Datatype Mapping }
1424
{-------------------------------------------------------------------------------------------}
1426
function OCIDateToText(
1434
buf:PChar):sword;cdecl;
1438
function OCIInitialize(
1443
mfreefp:pointer):sword;cdecl;external;
1445
function OCIHandleAlloc(
1449
xtramem_sz:cardinal;
1450
usrmempp:pointer):sword;cdecl;external;
1452
function OCIHandleFree(
1454
AType:cardinal):sword;cdecl;external;
1456
function OCIEnvInit(
1461
usrmempp: pointer): sword; cdecl;external;
1463
function OCIDescriptorAlloc(
1467
xtramem_sz:cardinal;
1468
usrmempp:pointer):sword;cdecl;external;
1470
function OCIDescriptorFree(
1472
AType:cardinal):sword;cdecl;external;
1474
function OCIServerAttach(
1479
mode:cardinal):sword;cdecl;external;
1481
function OCIServerDetach(
1484
mode:cardinal):sword;cdecl;external;
1486
function OCISessionBegin(
1491
mode:cardinal):sword;cdecl;external;
1493
function OCISessionEnd(
1497
mode:cardinal):sword;cdecl;external;
1502
var svchp:OCISvcCtx;
1506
passwd_len:cardinal;
1508
dbname_len:cardinal):sword;cdecl;external;
1512
errhp:OCIError):sword;cdecl;external;
1514
function OCIErrorGet(
1518
var errcodep:PLongint;
1521
AType:cardinal):sword;cdecl;external;
1523
function OCIPasswordChange(
1527
usernm_len:cardinal;
1529
opasswd_len:cardinal;
1531
npasswd_len:cardinal;
1532
mode:cardinal):sword;cdecl;external;
1534
function OCIStmtPrepare(
1540
mode:cardinal):sword;cdecl;external;
1542
function OCIBindByPos(
1551
alenp:pword; rcodep:pword;
1552
maxarr_len:cardinal;
1554
mode:cardinal):sword;cdecl;external;
1556
function OCIBindByName(
1568
maxarr_len:cardinal;
1570
mode:cardinal):sword;cdecl;external;
1572
function OCIBindObject(
1579
indszp:pcardinal):sword;cdecl;external;
1581
function OCIBindDynamic(
1585
icbfp:OCICallbackInBind;
1587
ocbfp:OCICallbackOutBind):sword;cdecl;external;
1589
function OCIBindArrayOfStruct(
1595
rcskip:cardinal):sword;cdecl;external;
1597
function OCIStmtGetPieceInfo(
1605
piecep:pbyte):sword;cdecl;external;
1607
function OCIStmtSetPieceInfo(
1615
rcodep:pword):sword;cdecl;external;
1617
function OCIStmtExecute(
1623
snap_in:OCISnapshot;
1624
snap_out:OCISnapshot;
1625
mode:cardinal):sword;cdecl;external;
1627
function OCIDefineByPos(
1638
mode:cardinal):sword;cdecl;external;
1640
function OCIDefineObject(
1647
indszp:pcardinal):sword;cdecl;external;
1649
function OCIDefineDynamic(
1653
ocbfp:OCICallbackDefine):sword;cdecl;external;
1655
function OCIDefineArrayOfStruct(
1661
rcskip:cardinal):sword;cdecl;external;
1663
function OCIStmtFetch(
1668
mode:cardinal):sword;cdecl;external;
1670
function OCIStmtGetBindInfo(
1681
hndl:OCIBind):sword;cdecl;external;
1683
function OCIDescribeAny(
1691
dschp:OCIDescribe):sword;cdecl;external;
1693
function OCIParamGet(
1698
pos:cardinal):sword;cdecl;external;
1700
function OCIParamSet(
1706
pos:cardinal):sword;cdecl;external;
1708
function OCITransStart(
1712
flags:cardinal):sword;cdecl;external;
1714
function OCITransDetach(
1717
flags:cardinal):sword;cdecl;external;
1719
function OCITransCommit(
1722
flags:cardinal):sword;cdecl;external;
1724
function OCITransRollback(
1727
flags:cardinal):sword;cdecl;external;
1729
function OCITransPrepare(
1732
flags:cardinal):sword;cdecl;external;
1734
function OCITransForget(
1737
flags:cardinal):sword;cdecl;external;
1739
function OCILobAppend(
1742
dst_locp:OCILobLocator;
1743
src_locp:OCILobLocator):sword;cdecl;external;
1745
function OCILobAssign(
1748
src_locp:OCILobLocator;
1749
dst_locpp:OCILobLocator):sword;cdecl;external;
1751
function OCILobCharSetForm(
1755
csfrm:pbyte):sword;cdecl;external;
1757
function OCILobCharSetId(
1761
csid:pword):sword;cdecl;external;
1763
function OCILobCopy(
1766
dst_locp:OCILobLocator;
1767
src_locp:OCILobLocator;
1769
dst_offset:cardinal;
1770
src_offset:cardinal):sword;cdecl;external;
1772
function OCILobDisableBuffering(
1775
locp:OCILobLocator):sword;cdecl;external;
1777
function OCILobEnableBuffering(
1780
locp:OCILobLocator):sword;cdecl;external;
1782
function OCILobErase(
1787
offset:cardinal):sword;cdecl;external;
1789
function OCILobFileClose(
1792
filep:OCILobLocator):sword;cdecl;external;
1794
function OCILobFileCloseAll(
1796
errhp:OCIError):sword;cdecl;external;
1798
function OCILobFileExists(
1801
filep:OCILobLocator;
1802
flag:pboolean):sword;cdecl;external;
1804
function OCILobFileGetName(
1807
filep:OCILobLocator;
1811
f_length:pword):sword;cdecl;external;
1813
function OCILobFileIsOpen(
1816
filep:OCILobLocator;
1817
flag:pboolean):sword;cdecl;external;
1819
function OCILobFileOpen(
1822
filep:OCILobLocator;
1823
mode:byte):sword;cdecl;external;
1825
function OCILobFileSetName(
1828
filepp:OCILobLocator;
1832
f_length:word):sword;cdecl;external;
1834
function OCILobFlushBuffer(
1838
flag:cardinal):sword;cdecl;external;
1840
function OCILobGetLength(
1844
lenp:pcardinal):sword;cdecl;external;
1846
function OCILobIsEqual(
1850
is_equal:pboolean):sword;cdecl;external;
1852
function OCILobLoadFromFile(
1855
dst_locp:OCILobLocator;
1856
src_filep:OCILobLocator;
1858
dst_offset:cardinal;
1859
src_offset:cardinal):sword;cdecl;external;
1861
function OCILobLocatorIsInit(
1865
is_initialized:pboolean):sword;cdecl;external;
1867
function OCILobRead(
1878
csfrm:byte):sword;cdecl;external;
1880
function OCILobTrim(
1884
newlen:cardinal):sword;cdecl;external;
1886
function OCILobWrite(
1898
csfrm:byte):sword;cdecl;external;
1902
errhp:OCIError):sword;cdecl;external;
1906
errhp:OCIError):sword;cdecl;external;
1908
function OCIServerVersion(
1913
hndltype:byte):sword;cdecl;external;
1915
function OCIAttrGet(
1917
trghndltyp:cardinal;
1921
errhp:OCIError):sword;cdecl;external;
1923
function OCIAttrSet(
1925
trghndltyp:cardinal;
1929
errhp:OCIError):sword;cdecl;external;
1931
function OCISvcCtxToLda(
1934
ldap:pLda_Def):sword;cdecl;external;
1936
function OCILdaToSvcCtx(
1939
ldap:pLda_Def):sword;cdecl;external;
1941
function OCIResultSetToStmt(
1943
errhp:OCIError):sword;cdecl;external;
1945
function OCIDateToText(
1953
buf:PChar):sword;cdecl;external;
1959
Revision 1.3 2003/08/09 15:19:01 marco
1962
Revision 1.2 2002/09/07 15:42:53 peter
1963
* old logs removed and tabs fixed
1965
Revision 1.1 2002/01/29 17:54:54 peter
1966
* splitted to base and extra