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}