odpic_sys/
bindings_blocking.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3extern "C" {
4
5    /// Performs an immediate (asynchronous) termination of any currently executing
6    /// function on the server associated with the connection.
7    /// 
8    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
9    pub fn dpiConn_breakExecution(conn: *mut dpiConn) -> ::std::os::raw::c_int;
10}
11extern "C" {
12
13    /// Changes the password of the specified user.
14    /// 
15    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
16    pub fn dpiConn_changePassword(
17        conn: *mut dpiConn,
18        userName: *const ::std::os::raw::c_char,
19        userNameLength: u32,
20        oldPassword: *const ::std::os::raw::c_char,
21        oldPasswordLength: u32,
22        newPassword: *const ::std::os::raw::c_char,
23        newPasswordLength: u32,
24    ) -> ::std::os::raw::c_int;
25}
26extern "C" {
27
28    /// Closes the connection and makes it unusable for further activity. Any open
29    /// statements and LOBs associated with the connection will also be closed and
30    /// made unusable for further activity.
31    /// 
32    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
33    pub fn dpiConn_close(
34        conn: *mut dpiConn,
35        mode: dpiConnCloseMode,
36        tag: *const ::std::os::raw::c_char,
37        tagLength: u32,
38    ) -> ::std::os::raw::c_int;
39}
40extern "C" {
41
42    /// Commits the current active transaction.
43    /// 
44    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
45    pub fn dpiConn_commit(conn: *mut dpiConn) -> ::std::os::raw::c_int;
46}
47extern "C" {
48
49    /// Creates a standalone connection to a database or acquires a connection
50    /// from a session pool and returns a reference to the connection.
51    /// 
52    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
53    /// If a failure occurs, the errorInfo structure is filled in with error
54    /// information.
55    pub fn dpiConn_create(
56        context: *const dpiContext,
57        userName: *const ::std::os::raw::c_char,
58        userNameLength: u32,
59        password: *const ::std::os::raw::c_char,
60        passwordLength: u32,
61        connectString: *const ::std::os::raw::c_char,
62        connectStringLength: u32,
63        commonParams: *const dpiCommonCreateParams,
64        createParams: *mut dpiConnCreateParams,
65        conn: *mut *mut dpiConn,
66    ) -> ::std::os::raw::c_int;
67}
68extern "C" {
69
70    /// Dequeues a message from a queue. This function is deprecated and will be
71    /// removed in version 4. One of the functions [`dpiQueue_deqOne()`] or
72    /// [`dpiQueue_deqMany()`] should be used instead.
73    /// 
74    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
75    pub fn dpiConn_deqObject(
76        conn: *mut dpiConn,
77        queueName: *const ::std::os::raw::c_char,
78        queueNameLength: u32,
79        options: *mut dpiDeqOptions,
80        props: *mut dpiMsgProps,
81        payload: *mut dpiObject,
82        msgId: *mut *const ::std::os::raw::c_char,
83        msgIdLength: *mut u32,
84    ) -> ::std::os::raw::c_int;
85}
86extern "C" {
87
88    /// Enqueues a message to a queue. This function is deprecated and will be
89    /// removed in version 4. One of the functions [`dpiQueue_enqOne()`] or
90    /// [`dpiQueue_enqMany()`] should be used instead.
91    /// 
92    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
93    pub fn dpiConn_enqObject(
94        conn: *mut dpiConn,
95        queueName: *const ::std::os::raw::c_char,
96        queueNameLength: u32,
97        options: *mut dpiEnqOptions,
98        props: *mut dpiMsgProps,
99        payload: *mut dpiObject,
100        msgId: *mut *const ::std::os::raw::c_char,
101        msgIdLength: *mut u32,
102    ) -> ::std::os::raw::c_int;
103}
104extern "C" {
105
106    /// Looks up an object type by name in the database and returns a reference to
107    /// it. The reference should be released as soon as it is no longer needed.
108    /// 
109    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
110    pub fn dpiConn_getObjectType(
111        conn: *mut dpiConn,
112        name: *const ::std::os::raw::c_char,
113        nameLength: u32,
114        objType: *mut *mut dpiObjectType,
115    ) -> ::std::os::raw::c_int;
116}
117extern "C" {
118
119    /// Returns the version information of the Oracle Database to which the
120    /// connection has been made.
121    /// 
122    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
123    pub fn dpiConn_getServerVersion(
124        conn: *mut dpiConn,
125        releaseString: *mut *const ::std::os::raw::c_char,
126        releaseStringLength: *mut u32,
127        versionInfo: *mut dpiVersionInfo,
128    ) -> ::std::os::raw::c_int;
129}
130extern "C" {
131
132    /// Return a reference to a SODA database which can be used to create, open
133    /// and drop collections. The connection that is passed should remain open
134    /// while SODA operations are being performed. If the connection is closed an
135    /// error will take place when the next SODA operation is attempted.
136    /// 
137    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
138    pub fn dpiConn_getSodaDb(conn: *mut dpiConn, db: *mut *mut dpiSodaDb) -> ::std::os::raw::c_int;
139}
140extern "C" {
141
142    /// Returns a reference to a new temporary LOB which may subsequently be
143    /// written and bound to a statement. The reference should be released as soon
144    /// as it is no longer needed.
145    /// 
146    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
147    pub fn dpiConn_newTempLob(
148        conn: *mut dpiConn,
149        lobType: dpiOracleTypeNum,
150        lob: *mut *mut dpiLob,
151    ) -> ::std::os::raw::c_int;
152}
153extern "C" {
154
155    /// Pings the database to determine if a connection is usable.
156    /// 
157    /// This function does the local, light-weight checks of
158    /// [`dpiConn_getIsHealthy()`] and additionally performs a round-trip to
159    /// the database if the local checks are successful.
160    /// 
161    /// The session pool internally may perform this check before returning a
162    /// connection to the application. This depends on the value of
163    /// DPI_DEFAULT_PING_INTERVAL and when the connection was returned to the pool.
164    /// 
165    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
166    /// 
167    /// If DPI_FAILURE is returned, the application should close the connection.
168    pub fn dpiConn_ping(conn: *mut dpiConn) -> ::std::os::raw::c_int;
169}
170extern "C" {
171
172    /// Releases a reference to the connection. A count of the references to the
173    /// connection is maintained and when this count reaches zero, the memory
174    /// associated with the connection is freed and the connection is closed or
175    /// released back to the session pool if that has not already taken place using
176    /// the function [`dpiConn_close()`].
177    /// 
178    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
179    pub fn dpiConn_release(conn: *mut dpiConn) -> ::std::os::raw::c_int;
180}
181extern "C" {
182
183    /// Rolls back the current active transaction.
184    /// 
185    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
186    pub fn dpiConn_rollback(conn: *mut dpiConn) -> ::std::os::raw::c_int;
187}
188extern "C" {
189
190    /// Shuts down the database. This function must be called twice for the
191    /// database to be shut down successfully. After calling this function the
192    /// first time, the SQL statements “alter database close normal” and
193    /// “alter database dismount” must be executed. Once that is complete this
194    /// function should be called again with the mode DPI_MODE_SHUTDOWN_FINAL
195    /// in order to complete the orderly shutdown of the database.
196    /// 
197    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
198    pub fn dpiConn_shutdownDatabase(
199        conn: *mut dpiConn,
200        mode: dpiShutdownMode,
201    ) -> ::std::os::raw::c_int;
202}
203extern "C" {
204
205    /// Starts up a database.
206    /// 
207    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
208    pub fn dpiConn_startupDatabase(
209        conn: *mut dpiConn,
210        mode: dpiStartupMode,
211    ) -> ::std::os::raw::c_int;
212}
213extern "C" {
214
215    /// Starts up a database with a parameter file (PFILE).
216    /// 
217    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
218    pub fn dpiConn_startupDatabaseWithPfile(
219        conn: *mut dpiConn,
220        pfile: *const ::std::os::raw::c_char,
221        pfileLength: u32,
222        mode: dpiStartupMode,
223    ) -> ::std::os::raw::c_int;
224}
225extern "C" {
226
227    /// Returns a reference to a subscription which is used for requesting
228    /// notifications of events that take place in the database. Events that are
229    /// supported are changes on tables or queries (continuous query notification)
230    /// and the availability of messages to dequeue (advanced queuing). The
231    /// reference should be released as soon as it is no longer needed.
232    /// 
233    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
234    pub fn dpiConn_subscribe(
235        conn: *mut dpiConn,
236        params: *mut dpiSubscrCreateParams,
237        subscr: *mut *mut dpiSubscr,
238    ) -> ::std::os::raw::c_int;
239}
240extern "C" {
241
242    /// Begins a new TPC (two-phase commit) transaction with the given transaction
243    /// id (XID).
244    /// 
245    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
246    pub fn dpiConn_tpcBegin(
247        conn: *mut dpiConn,
248        xid: *mut dpiXid,
249        transactionTimeout: u32,
250        flags: u32,
251    ) -> ::std::os::raw::c_int;
252}
253extern "C" {
254
255    /// Commits a TPC (two-phase commit) transaction.
256    /// 
257    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
258    pub fn dpiConn_tpcCommit(
259        conn: *mut dpiConn,
260        xid: *mut dpiXid,
261        onePhase: ::std::os::raw::c_int,
262    ) -> ::std::os::raw::c_int;
263}
264extern "C" {
265
266    /// Ends a TPC (two-phase commit) transaction with the given transaction
267    /// id (XID).
268    /// 
269    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
270    pub fn dpiConn_tpcEnd(
271        conn: *mut dpiConn,
272        xid: *mut dpiXid,
273        flags: u32,
274    ) -> ::std::os::raw::c_int;
275}
276extern "C" {
277
278    /// Forgets a TPC (two-phase commit) transaction.
279    /// 
280    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
281    pub fn dpiConn_tpcForget(conn: *mut dpiConn, xid: *mut dpiXid) -> ::std::os::raw::c_int;
282}
283extern "C" {
284
285    /// Prepares a TPC (two-phase commit) transaction for commit. This function
286    /// should only be called after [`dpiConn_tpcBegin()`] is called and before
287    /// [`dpiConn_tpcCommit()`] or [`dpiConn_commit()`] is called.
288    /// 
289    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
290    pub fn dpiConn_tpcPrepare(
291        conn: *mut dpiConn,
292        xid: *mut dpiXid,
293        commitNeeded: *mut ::std::os::raw::c_int,
294    ) -> ::std::os::raw::c_int;
295}
296extern "C" {
297
298    /// Rolls back a TPC (two-phase commit) transaction.
299    /// 
300    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
301    pub fn dpiConn_tpcRollback(conn: *mut dpiConn, xid: *mut dpiXid) -> ::std::os::raw::c_int;
302}
303extern "C" {
304
305    /// Unsubscribes from the events that were earlier subscribed to via the
306    /// function [`dpiConn_subscribe()`]. Once this function completes
307    /// successfully no further notifications will be sent for this subscription.
308    /// Note that this method does not generate a notification either.
309    /// 
310    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
311    pub fn dpiConn_unsubscribe(conn: *mut dpiConn, subscr: *mut dpiSubscr)
312        -> ::std::os::raw::c_int;
313}
314extern "C" {
315
316    /// Releases a reference to the dequeue options. A count of the references to
317    /// the dequeue options is maintained and when this count reaches zero, the
318    /// memory associated with the options is freed.
319    /// 
320    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
321    pub fn dpiDeqOptions_release(options: *mut dpiDeqOptions) -> ::std::os::raw::c_int;
322}
323extern "C" {
324
325    /// Releases a reference to the enqueue options. A count of the references to
326    /// the enqueue options is maintained and when this count reaches zero, the
327    /// memory associated with the options is freed.
328    /// 
329    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
330    pub fn dpiEnqOptions_release(options: *mut dpiEnqOptions) -> ::std::os::raw::c_int;
331}
332extern "C" {
333
334    /// Returns the top node of a hierarchy of nodes containing the data stored in
335    /// the JSON value.
336    /// 
337    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
338    pub fn dpiJson_getValue(
339        json: *mut dpiJson,
340        options: u32,
341        topNode: *mut *mut dpiJsonNode,
342    ) -> ::std::os::raw::c_int;
343}
344extern "C" {
345
346    /// Releases a reference to the JSON value. A count of the references to the
347    /// JSON value is maintained and when this count reaches zero, the memory
348    /// associated with the JSON value is freed.
349    /// 
350    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
351    pub fn dpiJson_release(json: *mut dpiJson) -> ::std::os::raw::c_int;
352}
353extern "C" {
354
355    /// Closes the LOB and makes it unusable for further operations immediately,
356    /// rather than when the reference count reaches zero.
357    /// 
358    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
359    pub fn dpiLob_close(lob: *mut dpiLob) -> ::std::os::raw::c_int;
360}
361extern "C" {
362
363    /// Closes the LOB resource. This should be done when a batch of writes has
364    /// been completed so that the indexes associated with the LOB can be updated.
365    /// It should only be performed if a call to function
366    /// [`dpiLob_openResource()`] has been performed.
367    /// 
368    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
369    pub fn dpiLob_closeResource(lob: *mut dpiLob) -> ::std::os::raw::c_int;
370}
371extern "C" {
372
373    /// Creates an independent copy of a LOB and returns a reference to the newly
374    /// created LOB. This reference should be released as soon as it is no longer
375    /// needed.
376    /// 
377    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
378    pub fn dpiLob_copy(lob: *mut dpiLob, copiedLob: *mut *mut dpiLob) -> ::std::os::raw::c_int;
379}
380extern "C" {
381
382    /// Returns the chunk size, in bytes, of the internal LOB. Reading and writing
383    /// to the LOB in multiples of this size will improve performance.
384    /// 
385    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
386    pub fn dpiLob_getChunkSize(lob: *mut dpiLob, size: *mut u32) -> ::std::os::raw::c_int;
387}
388extern "C" {
389
390    /// Returns a boolean value indicating if the file referenced by the BFILE type
391    /// LOB exists (1) or not (0).
392    /// 
393    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
394    pub fn dpiLob_getFileExists(
395        lob: *mut dpiLob,
396        exists: *mut ::std::os::raw::c_int,
397    ) -> ::std::os::raw::c_int;
398}
399extern "C" {
400
401    /// Returns a boolean value indicating if the LOB resource has been opened by
402    /// making a call to the function [`dpiLob_openResource()`] (1) or not (0).
403    /// 
404    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
405    pub fn dpiLob_getIsResourceOpen(
406        lob: *mut dpiLob,
407        isOpen: *mut ::std::os::raw::c_int,
408    ) -> ::std::os::raw::c_int;
409}
410extern "C" {
411
412    /// Returns the size of the data stored in the LOB. For character LOBs the size
413    /// is in characters; for binary LOBs the size is in bytes.
414    /// 
415    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
416    /// 
417    /// **WARNING**: for historical reasons, Oracle stores CLOBs and NCLOBs using
418    /// the UTF-16 encoding, regardless of what encoding is otherwise in use by the
419    /// database. The number of characters, however, is defined by the number of
420    /// UCS-2 codepoints. For this reason, if a character requires more than one
421    /// UCS-2 codepoint, the size returned will be inaccurate and care must be
422    /// taken to account for the difference.
423    pub fn dpiLob_getSize(lob: *mut dpiLob, size: *mut u64) -> ::std::os::raw::c_int;
424}
425extern "C" {
426
427    /// Opens the LOB resource for writing. This will improve performance when
428    /// writing to the LOB in chunks and there are functional or extensible indexes
429    /// associated with the LOB. If this function is not called, the LOB resource
430    /// will be opened and closed for each write that is performed. A call to the
431    /// function [`dpiLob_closeResource()`] should be done before performing a
432    /// call to the function [`dpiConn_commit()`].
433    /// 
434    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
435    pub fn dpiLob_openResource(lob: *mut dpiLob) -> ::std::os::raw::c_int;
436}
437extern "C" {
438
439    /// Reads data from the LOB at the specified offset into the provided buffer.
440    /// 
441    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
442    /// 
443    /// **WARNING**: for historical reasons, Oracle stores CLOBs and NCLOBs using
444    /// the UTF-16 encoding, regardless of what encoding is otherwise in use by the
445    /// database. The number of characters, however, is defined by the number of
446    /// UCS-2 codepoints. For this reason, if a character requires more than one
447    /// UCS-2 codepoint, care must be taken to account for them in both the offset
448    /// and amount parameters.
449    pub fn dpiLob_readBytes(
450        lob: *mut dpiLob,
451        offset: u64,
452        amount: u64,
453        value: *mut ::std::os::raw::c_char,
454        valueLength: *mut u64,
455    ) -> ::std::os::raw::c_int;
456}
457extern "C" {
458
459    /// Releases a reference to the LOB. A count of the references to the LOB is
460    /// maintained and when this count reaches zero, the memory associated with the
461    /// LOB is freed. The LOB is also closed unless that has already taken place
462    /// using the function [`dpiLob_close()`].
463    /// 
464    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
465    pub fn dpiLob_release(lob: *mut dpiLob) -> ::std::os::raw::c_int;
466}
467extern "C" {
468
469    /// Replaces all of the data in the LOB with the contents of the provided
470    /// buffer. The LOB will first be cleared and then the provided data will be
471    /// written.
472    /// 
473    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
474    pub fn dpiLob_setFromBytes(
475        lob: *mut dpiLob,
476        value: *const ::std::os::raw::c_char,
477        valueLength: u64,
478    ) -> ::std::os::raw::c_int;
479}
480extern "C" {
481
482    /// Trims the data in the LOB so that it only contains the specified amount of
483    /// data.
484    /// 
485    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
486    pub fn dpiLob_trim(lob: *mut dpiLob, newSize: u64) -> ::std::os::raw::c_int;
487}
488extern "C" {
489
490    /// Write data to the LOB at the specified offset using the provided buffer as
491    /// the source. If multiple calls to this function are planned, the LOB should
492    /// first be opened using the function [`dpiLob_openResource()`].
493    /// 
494    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
495    /// 
496    /// **WARNING**: for historical reasons, Oracle stores CLOBs and NCLOBs using
497    /// the UTF-16 encoding, regardless of what encoding is otherwise in use by the
498    /// database. The number of characters, however, is defined by the number of
499    /// UCS-2 codepoints. For this reason, if a character requires more than one
500    /// UCS-2 codepoint, care must be taken to account for them in the offset
501    /// parameter.
502    pub fn dpiLob_writeBytes(
503        lob: *mut dpiLob,
504        offset: u64,
505        value: *const ::std::os::raw::c_char,
506        valueLength: u64,
507    ) -> ::std::os::raw::c_int;
508}
509extern "C" {
510
511    /// Releases a reference to the message properties. A count of the references
512    /// to the message properties is maintained and when this count reaches zero,
513    /// the memory associated with the properties is freed.
514    /// 
515    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
516    pub fn dpiMsgProps_release(props: *mut dpiMsgProps) -> ::std::os::raw::c_int;
517}
518extern "C" {
519
520    /// Releases a reference to the object. A count of the references to the object
521    /// is maintained and when this count reaches zero, the memory associated with
522    /// the object is freed.
523    /// 
524    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
525    pub fn dpiObject_release(obj: *mut dpiObject) -> ::std::os::raw::c_int;
526}
527extern "C" {
528
529    /// Releases a reference to the attribute. A count of the references to the
530    /// attribute is maintained and when this count reaches zero, the memory
531    /// associated with the attribute is freed.
532    /// 
533    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
534    pub fn dpiObjectAttr_release(attr: *mut dpiObjectAttr) -> ::std::os::raw::c_int;
535}
536extern "C" {
537
538    /// Releases a reference to the object type. A count of the references to the
539    /// object type is maintained and when this count reaches zero, the memory
540    /// associated with the object type is freed.
541    /// 
542    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
543    pub fn dpiObjectType_release(objType: *mut dpiObjectType) -> ::std::os::raw::c_int;
544}
545extern "C" {
546
547    /// Acquires a connection from the pool and returns a reference to it. This
548    /// reference should be released by calling [`dpiConn_release()`] as soon
549    /// as it is no longer needed, which will also return the connection back to
550    /// the pool for subsequent calls to this function. The connection can be
551    /// returned back to the pool earlier by calling [`dpiConn_close()`].
552    /// 
553    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
554    pub fn dpiPool_acquireConnection(
555        pool: *mut dpiPool,
556        userName: *const ::std::os::raw::c_char,
557        userNameLength: u32,
558        password: *const ::std::os::raw::c_char,
559        passwordLength: u32,
560        createParams: *mut dpiConnCreateParams,
561        conn: *mut *mut dpiConn,
562    ) -> ::std::os::raw::c_int;
563}
564extern "C" {
565
566    /// Closes the pool and makes it unusable for further activity.
567    /// 
568    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
569    pub fn dpiPool_close(pool: *mut dpiPool, closeMode: dpiPoolCloseMode) -> ::std::os::raw::c_int;
570}
571extern "C" {
572
573    /// Creates a session pool which creates and maintains a group of stateless
574    /// sessions to the database. The main benefit of session pooling is
575    /// performance since making a connection to the database is a time-consuming
576    /// activity, especially when the database is remote.
577    /// 
578    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
579    /// If a failure occurs, the errorInfo structure is filled in with error
580    /// information.
581    pub fn dpiPool_create(
582        context: *const dpiContext,
583        userName: *const ::std::os::raw::c_char,
584        userNameLength: u32,
585        password: *const ::std::os::raw::c_char,
586        passwordLength: u32,
587        connectString: *const ::std::os::raw::c_char,
588        connectStringLength: u32,
589        commonParams: *const dpiCommonCreateParams,
590        createParams: *mut dpiPoolCreateParams,
591        pool: *mut *mut dpiPool,
592    ) -> ::std::os::raw::c_int;
593}
594extern "C" {
595
596    /// Releases a reference to the pool. A count of the references to the pool is
597    /// maintained and when this count reaches zero, the memory associated with the
598    /// pool is freed and the session pool is closed if that has not already
599    /// taken place using the function [`dpiPool_close()`].
600    /// 
601    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
602    pub fn dpiPool_release(pool: *mut dpiPool) -> ::std::os::raw::c_int;
603}
604extern "C" {
605
606    /// Dequeues multiple messages from the queue.
607    /// 
608    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
609    pub fn dpiQueue_deqMany(
610        queue: *mut dpiQueue,
611        numProps: *mut u32,
612        props: *mut *mut dpiMsgProps,
613    ) -> ::std::os::raw::c_int;
614}
615extern "C" {
616
617    /// Dequeues a single message from the queue.
618    /// 
619    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
620    pub fn dpiQueue_deqOne(
621        queue: *mut dpiQueue,
622        props: *mut *mut dpiMsgProps,
623    ) -> ::std::os::raw::c_int;
624}
625extern "C" {
626
627    /// Enqueues multiple messages into the queue.
628    /// 
629    /// Warning: calling this function in parallel on different connections
630    /// acquired from the same pool may fail due to Oracle bug 29928074. Ensure
631    /// that this function is not run in parallel, use standalone connections or
632    /// connections from different pools, or make multiple calls to
633    /// [`dpiQueue_enqOne()`] instead. The function [`dpiQueue_deqMany()`]
634    /// call is not affected.
635    /// 
636    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
637    pub fn dpiQueue_enqMany(
638        queue: *mut dpiQueue,
639        numProps: u32,
640        props: *mut *mut dpiMsgProps,
641    ) -> ::std::os::raw::c_int;
642}
643extern "C" {
644
645    /// Enqueues a single mesasge into the queue.
646    /// 
647    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
648    pub fn dpiQueue_enqOne(queue: *mut dpiQueue, props: *mut dpiMsgProps) -> ::std::os::raw::c_int;
649}
650extern "C" {
651
652    /// Releases a reference to the queue. A count of the references to the queue
653    /// is maintained and when this count reaches zero, the memory associated with
654    /// the queue is freed.
655    /// 
656    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
657    pub fn dpiQueue_release(queue: *mut dpiQueue) -> ::std::os::raw::c_int;
658}
659extern "C" {
660
661    /// Changes pool configuration corresponding to members
662    /// [`dpiPoolCreateParams.minSessions`],
663    /// [`dpiPoolCreateParams.maxSessions`] and
664    /// [`dpiPoolCreateParams.sessionIncrement`] to the specified values.
665    /// Connections will be created as needed if the value of *minSessions* is
666    /// increased. Connections will be dropped from the pool as they are released
667    /// back to the pool if *minSessions* is decreased.
668    /// 
669    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
670    pub fn dpiPool_reconfigure(
671        pool: *mut dpiPool,
672        minSessions: u32,
673        maxSessions: u32,
674        sessionIncrement: u32,
675    ) -> ::std::os::raw::c_int;
676}
677extern "C" {
678
679    /// Create an index on the collection, which can improve the performance of
680    /// SODA query-by-examples (QBE). An index is defined by a specification,
681    /// which is a JSON-encoded string that specifies how particular QBE patterns
682    /// are to be indexed for quicker matching. See
683    /// [Overview of SODA indexing](https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-4848E6A0-58A7-44FD-8D6D-A033D0CCF9CB).
684    /// 
685    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
686    pub fn dpiSodaColl_createIndex(
687        coll: *mut dpiSodaColl,
688        indexSpec: *const ::std::os::raw::c_char,
689        indexSpecLength: u32,
690        flags: u32,
691    ) -> ::std::os::raw::c_int;
692}
693extern "C" {
694
695    /// Drops a SODA collection from the database.
696    /// 
697    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
698    pub fn dpiSodaColl_drop(
699        coll: *mut dpiSodaColl,
700        flags: u32,
701        isDropped: *mut ::std::os::raw::c_int,
702    ) -> ::std::os::raw::c_int;
703}
704extern "C" {
705
706    /// Drop an index on the collection.
707    /// 
708    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
709    pub fn dpiSodaColl_dropIndex(
710        coll: *mut dpiSodaColl,
711        name: *const ::std::os::raw::c_char,
712        nameLength: u32,
713        flags: u32,
714        isDropped: *mut ::std::os::raw::c_int,
715    ) -> ::std::os::raw::c_int;
716}
717extern "C" {
718
719    /// Finds all of the documents in the collection that match the specified
720    /// options.
721    /// 
722    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
723    pub fn dpiSodaColl_find(
724        coll: *mut dpiSodaColl,
725        options: *const dpiSodaOperOptions,
726        flags: u32,
727        cursor: *mut *mut dpiSodaDocCursor,
728    ) -> ::std::os::raw::c_int;
729}
730extern "C" {
731
732    /// Finds a single document in the collection that matches the specified
733    /// options.
734    /// 
735    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
736    pub fn dpiSodaColl_findOne(
737        coll: *mut dpiSodaColl,
738        options: *const dpiSodaOperOptions,
739        flags: u32,
740        doc: *mut *mut dpiSodaDoc,
741    ) -> ::std::os::raw::c_int;
742}
743extern "C" {
744
745    /// Returns a document containing the data guide for the collection. See
746    /// [JSON Data Guide](https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-219FC30E-89A7-4189-BC36-7B961A24067C).
747    /// 
748    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
749    pub fn dpiSodaColl_getDataGuide(
750        coll: *mut dpiSodaColl,
751        flags: u32,
752        doc: *mut *mut dpiSodaDoc,
753    ) -> ::std::os::raw::c_int;
754}
755extern "C" {
756
757    /// Returns the number of documents in the collection that match the specified
758    /// options.
759    /// 
760    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
761    pub fn dpiSodaColl_getDocCount(
762        coll: *mut dpiSodaColl,
763        options: *const dpiSodaOperOptions,
764        flags: u32,
765        count: *mut u64,
766    ) -> ::std::os::raw::c_int;
767}
768extern "C" {
769
770    /// Inserts multiple documents into the collection and optionally returns
771    /// result documents containing information about the newly inserted documents.
772    /// 
773    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
774    /// On failure the offset attribute in the [`dpiErrorInfo`]
775    /// structure will contain the index into the SODA document handles array where
776    /// the error took place.
777    /// 
778    /// NOTE: this function requires Oracle Client 18.5 or higher in addition to
779    /// the usual SODA requirements and is currently available only as a preview.
780    pub fn dpiSodaColl_insertMany(
781        coll: *mut dpiSodaColl,
782        numDocs: u32,
783        docs: *mut *mut dpiSodaDoc,
784        flags: u32,
785        insertedDocs: *mut *mut dpiSodaDoc,
786    ) -> ::std::os::raw::c_int;
787}
788extern "C" {
789
790    /// Inserts multiple documents into the collection and optionally returns
791    /// result documents containing information about the newly inserted documents.
792    /// In addition, options can be supplied to modify how the documents are
793    /// inserted or returned.
794    /// 
795    /// This function requires Oracle Client 21.3 or higher to be used in addition
796    /// to the normal SODA requirements (also available in Oracle Client 19 from
797    /// 19.11).
798    /// 
799    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
800    /// On failure the offset attribute in the [`dpiErrorInfo`]
801    /// structure will contain the index into the SODA document handles array where
802    /// the error took place.
803    pub fn dpiSodaColl_insertManyWithOptions(
804        coll: *mut dpiSodaColl,
805        numDocs: u32,
806        docs: *mut *mut dpiSodaDoc,
807        options: *mut dpiSodaOperOptions,
808        flags: u32,
809        insertedDocs: *mut *mut dpiSodaDoc,
810    ) -> ::std::os::raw::c_int;
811}
812extern "C" {
813
814    /// Inserts a document into the collection and optionally returns it.
815    /// 
816    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
817    pub fn dpiSodaColl_insertOne(
818        coll: *mut dpiSodaColl,
819        doc: *mut dpiSodaDoc,
820        flags: u32,
821        insertedDoc: *mut *mut dpiSodaDoc,
822    ) -> ::std::os::raw::c_int;
823}
824extern "C" {
825
826    /// Inserts a document into the collection and optionally returns it. In
827    /// addition, options can be supplied to modify how the document is inserted or
828    /// returned.
829    /// 
830    /// This method requires Oracle Client 21.3 or higher to be used in addition to
831    /// the normal SODA requirements (also available in Oracle Client 19 from
832    /// 19.11).
833    /// 
834    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
835    pub fn dpiSodaColl_insertOneWithOptions(
836        coll: *mut dpiSodaColl,
837        doc: *mut dpiSodaDoc,
838        options: *mut dpiSodaOperOptions,
839        flags: u32,
840        insertedDoc: *mut *mut dpiSodaDoc,
841    ) -> ::std::os::raw::c_int;
842}
843extern "C" {
844
845    /// Returns a list of indexes associated with the collection.
846    /// 
847    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
848    pub fn dpiSodaColl_listIndexes(
849        coll: *mut dpiSodaColl,
850        flags: u32,
851        list: *mut dpiStringList,
852    ) -> ::std::os::raw::c_int;
853}
854extern "C" {
855
856    /// Releases a reference to the SODA collection. A count of the references to
857    /// the collection is maintained and when this count reaches zero, the memory
858    /// associated with the collection is freed.
859    /// 
860    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
861    pub fn dpiSodaColl_release(coll: *mut dpiSodaColl) -> ::std::os::raw::c_int;
862}
863extern "C" {
864
865    /// Removes all of the documents in the collection that match the specified
866    /// options.
867    /// 
868    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
869    pub fn dpiSodaColl_remove(
870        coll: *mut dpiSodaColl,
871        options: *const dpiSodaOperOptions,
872        flags: u32,
873        count: *mut u64,
874    ) -> ::std::os::raw::c_int;
875}
876extern "C" {
877
878    /// Replaces the single document in the collection matching the given options
879    /// with the new document.
880    pub fn dpiSodaColl_replaceOne(
881        coll: *mut dpiSodaColl,
882        options: *const dpiSodaOperOptions,
883        doc: *mut dpiSodaDoc,
884        flags: u32,
885        replaced: *mut ::std::os::raw::c_int,
886        replacedDoc: *mut *mut dpiSodaDoc,
887    ) -> ::std::os::raw::c_int;
888}
889extern "C" {
890
891    /// Saves a document into the collection. This method is equivalent to
892    /// [`dpiSodaColl_insertOne()`] except that if client-assigned keys are
893    /// used, and the document with the specified key already exists in the
894    /// collection, it will be replaced with the input document.
895    /// 
896    /// This method requires Oracle Client 19.9 or higher to be used in addition to
897    /// the normal SODA requirements.
898    /// 
899    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
900    pub fn dpiSodaColl_save(
901        coll: *mut dpiSodaColl,
902        doc: *mut dpiSodaDoc,
903        flags: u32,
904        savedDoc: *mut *mut dpiSodaDoc,
905    ) -> ::std::os::raw::c_int;
906}
907extern "C" {
908
909    /// Saves a document into the collection. This method is equivalent to
910    /// [`dpiSodaColl_insertOneWithOptions()`] except that if client-assigned
911    /// keys are used, and the document with the specified key already exists in
912    /// the collection, it will be replaced with the input document.
913    /// 
914    /// This method requires Oracle Client 21.3 or higher to be used in addition to
915    /// the normal SODA requirements (also available in Oracle Client 19 from
916    /// 19.11).
917    /// 
918    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
919    pub fn dpiSodaColl_saveWithOptions(
920        coll: *mut dpiSodaColl,
921        doc: *mut dpiSodaDoc,
922        options: *mut dpiSodaOperOptions,
923        flags: u32,
924        savedDoc: *mut *mut dpiSodaDoc,
925    ) -> ::std::os::raw::c_int;
926}
927extern "C" {
928
929    /// Removes all of the documents in a SODA collection in a similar manner to
930    /// a TRUNCATE TABLE statement.
931    /// 
932    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
933    pub fn dpiSodaColl_truncate(coll: *mut dpiSodaColl) -> ::std::os::raw::c_int;
934}
935extern "C" {
936
937    /// Gets the next collection from the cursor, if there is one.
938    /// 
939    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
940    pub fn dpiSodaCollCursor_getNext(
941        cursor: *mut dpiSodaCollCursor,
942        flags: u32,
943        coll: *mut *mut dpiSodaColl,
944    ) -> ::std::os::raw::c_int;
945}
946extern "C" {
947
948    /// Releases a reference to the SODA collection cursor. A count of the
949    /// references to the cursor is maintained and when this count reaches zero,
950    /// the memory associated with the cursor is freed.
951    /// 
952    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
953    pub fn dpiSodaCollCursor_release(cursor: *mut dpiSodaCollCursor) -> ::std::os::raw::c_int;
954}
955extern "C" {
956
957    /// Creates a new SODA collection if a collection by that name does not exist.
958    /// If a collection by that name already exists, the collection is opened if
959    /// the metadata of the collection is equivalent to the supplied metadata;
960    /// otherwise, an error is returned.
961    /// 
962    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
963    /// 
964    /// NOTE: the creation of the collection is performed using an autonomous
965    /// transaction. Any current transaction is left unchanged.
966    pub fn dpiSodaDb_createCollection(
967        db: *mut dpiSodaDb,
968        name: *const ::std::os::raw::c_char,
969        nameLength: u32,
970        metadata: *const ::std::os::raw::c_char,
971        metadataLength: u32,
972        flags: u32,
973        coll: *mut *mut dpiSodaColl,
974    ) -> ::std::os::raw::c_int;
975}
976extern "C" {
977
978    /// Return a cursor to iterate over the SODA collections available in the
979    /// database.
980    /// 
981    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
982    pub fn dpiSodaDb_getCollections(
983        db: *mut dpiSodaDb,
984        startName: *const ::std::os::raw::c_char,
985        startNameLength: u32,
986        flags: u32,
987        cursor: *mut *mut dpiSodaCollCursor,
988    ) -> ::std::os::raw::c_int;
989}
990extern "C" {
991
992    /// Return an array of names of SODA collections available in the database.
993    /// 
994    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
995    pub fn dpiSodaDb_getCollectionNames(
996        db: *mut dpiSodaDb,
997        startName: *const ::std::os::raw::c_char,
998        startNameLength: u32,
999        limit: u32,
1000        flags: u32,
1001        names: *mut dpiStringList,
1002    ) -> ::std::os::raw::c_int;
1003}
1004extern "C" {
1005
1006    /// Opens an existing SODA collection.
1007    /// 
1008    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1009    pub fn dpiSodaDb_openCollection(
1010        db: *mut dpiSodaDb,
1011        name: *const ::std::os::raw::c_char,
1012        nameLength: u32,
1013        flags: u32,
1014        coll: *mut *mut dpiSodaColl,
1015    ) -> ::std::os::raw::c_int;
1016}
1017extern "C" {
1018
1019    /// Releases a reference to the database. A count of the references to the
1020    /// database is maintained and when this count reaches zero, the memory
1021    /// associated with the database is freed.
1022    /// 
1023    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1024    pub fn dpiSodaDb_release(db: *mut dpiSodaDb) -> ::std::os::raw::c_int;
1025}
1026extern "C" {
1027
1028    /// Releases a reference to the SODA document. A count of the references to
1029    /// the document is maintained and when this count reaches zero, the memory
1030    /// associated with the document is freed.
1031    /// 
1032    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1033    pub fn dpiSodaDoc_release(doc: *mut dpiSodaDoc) -> ::std::os::raw::c_int;
1034}
1035extern "C" {
1036
1037    /// Gets the next document from the cursor, if there is one.
1038    /// 
1039    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1040    pub fn dpiSodaDocCursor_getNext(
1041        cursor: *mut dpiSodaDocCursor,
1042        flags: u32,
1043        doc: *mut *mut dpiSodaDoc,
1044    ) -> ::std::os::raw::c_int;
1045}
1046extern "C" {
1047
1048    /// Releases a reference to the SODA document cursor. A count of the
1049    /// references to the cursor is maintained and when this count reaches zero,
1050    /// the memory associated with the cursor is freed.
1051    /// 
1052    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1053    pub fn dpiSodaDocCursor_release(cursor: *mut dpiSodaDocCursor) -> ::std::os::raw::c_int;
1054}
1055extern "C" {
1056
1057    /// Executes the statement using the bound values. For queries this makes
1058    /// available metadata which can be acquired using the function
1059    /// [`dpiStmt_getQueryInfo()`]. For non-queries, out and in-out variables
1060    /// are populated with their values.
1061    /// 
1062    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1063    pub fn dpiStmt_execute(
1064        stmt: *mut dpiStmt,
1065        mode: dpiExecMode,
1066        numQueryColumns: *mut u32,
1067    ) -> ::std::os::raw::c_int;
1068}
1069extern "C" {
1070
1071    /// Executes the statement the specified number of times using the bound
1072    /// values. Each bound variable must have at least this many elements allocated
1073    /// or an error is returned.
1074    /// 
1075    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1076    pub fn dpiStmt_executeMany(
1077        stmt: *mut dpiStmt,
1078        mode: dpiExecMode,
1079        numIters: u32,
1080    ) -> ::std::os::raw::c_int;
1081}
1082extern "C" {
1083
1084    /// Fetches a single row from the buffers defined for the query. If no row is
1085    /// available in the buffers, an internal fetch takes place to populate them,
1086    /// if rows are available. The number of rows fetched into the internal
1087    /// buffers can be set by calling [`dpiStmt_setFetchArraySize()`]. If the
1088    /// statement does not refer to a query an error is returned. All columns that
1089    /// have not been defined prior to this call are implicitly defined using the
1090    /// metadata made available when the statement was executed.
1091    /// 
1092    /// The function [`dpiStmt_fetchRows()`] should be used instead of this
1093    /// function if it is important to control when the internal fetch (and
1094    /// round-trip to the database) takes place.
1095    /// 
1096    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1097    pub fn dpiStmt_fetch(
1098        stmt: *mut dpiStmt,
1099        found: *mut ::std::os::raw::c_int,
1100        bufferRowIndex: *mut u32,
1101    ) -> ::std::os::raw::c_int;
1102}
1103extern "C" {
1104
1105    /// Returns the number of rows that are available in the buffers defined for
1106    /// the query. If no rows are currently available in the buffers, an internal
1107    /// fetch takes place in order to populate them, if rows are available. The
1108    /// number of rows fetched into the internal buffers can be set by calling
1109    /// [`dpiStmt_setFetchArraySize()`]. If the statement does not refer to a
1110    /// query an error is returned. All columns that have not been defined prior to
1111    /// this call are implicitly defined using the metadata made available when the
1112    /// statement was executed.
1113    /// 
1114    /// This function should be used instead of [`dpiStmt_fetch()`] if it is
1115    /// important to control when the internal fetch (and round-trip to the
1116    /// database) takes place.
1117    /// 
1118    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1119    pub fn dpiStmt_fetchRows(
1120        stmt: *mut dpiStmt,
1121        maxRows: u32,
1122        bufferRowIndex: *mut u32,
1123        numRowsFetched: *mut u32,
1124        moreRows: *mut ::std::os::raw::c_int,
1125    ) -> ::std::os::raw::c_int;
1126}
1127extern "C" {
1128
1129    /// Releases a reference to the statement. A count of the references to the
1130    /// statement is maintained and when this count reaches zero, the memory
1131    /// associated with the statement is freed and the statement is closed if that
1132    /// has not already taken place using the function [`dpiStmt_close()`].
1133    /// 
1134    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1135    pub fn dpiStmt_release(stmt: *mut dpiStmt) -> ::std::os::raw::c_int;
1136}
1137extern "C" {
1138
1139    /// Scrolls the statement to the position in the cursor specified by the mode
1140    /// and offset.
1141    /// 
1142    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1143    pub fn dpiStmt_scroll(
1144        stmt: *mut dpiStmt,
1145        mode: dpiFetchMode,
1146        offset: i32,
1147        rowCountOffset: i32,
1148    ) -> ::std::os::raw::c_int;
1149}
1150extern "C" {
1151
1152    /// Releases a reference to the subscription. A count of the references to the
1153    /// subscription is maintained and when this count reaches zero, the memory
1154    /// associated with the subscription is freed. The subscription is also
1155    /// deregistered so that notifications are no longer sent, if this was not
1156    /// already done using the function [`dpiConn_unsubscribe()`].
1157    /// 
1158    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1159    pub fn dpiSubscr_release(subscr: *mut dpiSubscr) -> ::std::os::raw::c_int;
1160}
1161extern "C" {
1162
1163    /// Releases a reference to the variable. A count of the references to the
1164    /// variable is maintained and when this count reaches zero, the memory
1165    /// associated with the variable is freed.
1166    /// 
1167    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1168    pub fn dpiVar_release(var: *mut dpiVar) -> ::std::os::raw::c_int;
1169}
1170extern "C" {
1171
1172    /// Sets the variable value to the specified byte string. In the case of the
1173    /// variable’s Oracle type being DPI_ORACLE_TYPE_NUMBER, the byte string is
1174    /// converted to an Oracle number during the call to this function.
1175    /// 
1176    /// The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.
1177    pub fn dpiVar_setFromBytes(
1178        var: *mut dpiVar,
1179        pos: u32,
1180        value: *const ::std::os::raw::c_char,
1181        valueLength: u32,
1182    ) -> ::std::os::raw::c_int;
1183}