1pub const _STDINT_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC2X: u32 = 0;
7pub const __USE_ISOC11: u32 = 1;
8pub const __USE_ISOC99: u32 = 1;
9pub const __USE_ISOC95: u32 = 1;
10pub const __USE_POSIX_IMPLICITLY: u32 = 1;
11pub const _POSIX_SOURCE: u32 = 1;
12pub const _POSIX_C_SOURCE: u32 = 200809;
13pub const __USE_POSIX: u32 = 1;
14pub const __USE_POSIX2: u32 = 1;
15pub const __USE_POSIX199309: u32 = 1;
16pub const __USE_POSIX199506: u32 = 1;
17pub const __USE_XOPEN2K: u32 = 1;
18pub const __USE_XOPEN2K8: u32 = 1;
19pub const _ATFILE_SOURCE: u32 = 1;
20pub const __WORDSIZE: u32 = 64;
21pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
22pub const __SYSCALL_WORDSIZE: u32 = 64;
23pub const __TIMESIZE: u32 = 64;
24pub const __USE_MISC: u32 = 1;
25pub const __USE_ATFILE: u32 = 1;
26pub const __USE_FORTIFY_LEVEL: u32 = 0;
27pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
28pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
29pub const _STDC_PREDEF_H: u32 = 1;
30pub const __STDC_IEC_559__: u32 = 1;
31pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
32pub const __STDC_ISO_10646__: u32 = 201706;
33pub const __GNU_LIBRARY__: u32 = 6;
34pub const __GLIBC__: u32 = 2;
35pub const __GLIBC_MINOR__: u32 = 34;
36pub const _SYS_CDEFS_H: u32 = 1;
37pub const __glibc_c99_flexarr_available: u32 = 1;
38pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
39pub const __HAVE_GENERIC_SELECTION: u32 = 1;
40pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
41pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
42pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
43pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
45pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
47pub const _BITS_TYPES_H: u32 = 1;
48pub const _BITS_TYPESIZES_H: u32 = 1;
49pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
50pub const __INO_T_MATCHES_INO64_T: u32 = 1;
51pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
52pub const __STATFS_MATCHES_STATFS64: u32 = 1;
53pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
54pub const __FD_SETSIZE: u32 = 1024;
55pub const _BITS_TIME64_H: u32 = 1;
56pub const _BITS_WCHAR_H: u32 = 1;
57pub const _BITS_STDINT_INTN_H: u32 = 1;
58pub const _BITS_STDINT_UINTN_H: u32 = 1;
59pub const INT8_MIN: i32 = -128;
60pub const INT16_MIN: i32 = -32768;
61pub const INT32_MIN: i32 = -2147483648;
62pub const INT8_MAX: u32 = 127;
63pub const INT16_MAX: u32 = 32767;
64pub const INT32_MAX: u32 = 2147483647;
65pub const UINT8_MAX: u32 = 255;
66pub const UINT16_MAX: u32 = 65535;
67pub const UINT32_MAX: u32 = 4294967295;
68pub const INT_LEAST8_MIN: i32 = -128;
69pub const INT_LEAST16_MIN: i32 = -32768;
70pub const INT_LEAST32_MIN: i32 = -2147483648;
71pub const INT_LEAST8_MAX: u32 = 127;
72pub const INT_LEAST16_MAX: u32 = 32767;
73pub const INT_LEAST32_MAX: u32 = 2147483647;
74pub const UINT_LEAST8_MAX: u32 = 255;
75pub const UINT_LEAST16_MAX: u32 = 65535;
76pub const UINT_LEAST32_MAX: u32 = 4294967295;
77pub const INT_FAST8_MIN: i32 = -128;
78pub const INT_FAST16_MIN: i64 = -9223372036854775808;
79pub const INT_FAST32_MIN: i64 = -9223372036854775808;
80pub const INT_FAST8_MAX: u32 = 127;
81pub const INT_FAST16_MAX: u64 = 9223372036854775807;
82pub const INT_FAST32_MAX: u64 = 9223372036854775807;
83pub const UINT_FAST8_MAX: u32 = 255;
84pub const UINT_FAST16_MAX: i32 = -1;
85pub const UINT_FAST32_MAX: i32 = -1;
86pub const INTPTR_MIN: i64 = -9223372036854775808;
87pub const INTPTR_MAX: u64 = 9223372036854775807;
88pub const UINTPTR_MAX: i32 = -1;
89pub const PTRDIFF_MIN: i64 = -9223372036854775808;
90pub const PTRDIFF_MAX: u64 = 9223372036854775807;
91pub const SIG_ATOMIC_MIN: i32 = -2147483648;
92pub const SIG_ATOMIC_MAX: u32 = 2147483647;
93pub const SIZE_MAX: i32 = -1;
94pub const WINT_MIN: u32 = 0;
95pub const WINT_MAX: u32 = 4294967295;
96pub const CASS_VERSION_MAJOR: u32 = 2;
97pub const CASS_VERSION_MINOR: u32 = 16;
98pub const CASS_VERSION_PATCH: u32 = 0;
99pub const CASS_VERSION_SUFFIX: &[u8; 1usize] = b"\0";
100pub const CASS_UINT64_MAX: i32 = -1;
101pub const CASS_INET_V4_LENGTH: u32 = 4;
102pub const CASS_INET_V6_LENGTH: u32 = 16;
103pub const CASS_INET_STRING_LENGTH: u32 = 46;
104pub const CASS_UUID_STRING_LENGTH: u32 = 37;
105pub const CASS_LOG_MAX_MESSAGE_SIZE: u32 = 1024;
106pub type wchar_t = ::std::os::raw::c_int;
107pub type __u_char = ::std::os::raw::c_uchar;
108pub type __u_short = ::std::os::raw::c_ushort;
109pub type __u_int = ::std::os::raw::c_uint;
110pub type __u_long = ::std::os::raw::c_ulong;
111pub type __int8_t = ::std::os::raw::c_schar;
112pub type __uint8_t = ::std::os::raw::c_uchar;
113pub type __int16_t = ::std::os::raw::c_short;
114pub type __uint16_t = ::std::os::raw::c_ushort;
115pub type __int32_t = ::std::os::raw::c_int;
116pub type __uint32_t = ::std::os::raw::c_uint;
117pub type __int64_t = ::std::os::raw::c_long;
118pub type __uint64_t = ::std::os::raw::c_ulong;
119pub type __int_least8_t = __int8_t;
120pub type __uint_least8_t = __uint8_t;
121pub type __int_least16_t = __int16_t;
122pub type __uint_least16_t = __uint16_t;
123pub type __int_least32_t = __int32_t;
124pub type __uint_least32_t = __uint32_t;
125pub type __int_least64_t = __int64_t;
126pub type __uint_least64_t = __uint64_t;
127pub type __quad_t = ::std::os::raw::c_long;
128pub type __u_quad_t = ::std::os::raw::c_ulong;
129pub type __intmax_t = ::std::os::raw::c_long;
130pub type __uintmax_t = ::std::os::raw::c_ulong;
131pub type __dev_t = ::std::os::raw::c_ulong;
132pub type __uid_t = ::std::os::raw::c_uint;
133pub type __gid_t = ::std::os::raw::c_uint;
134pub type __ino_t = ::std::os::raw::c_ulong;
135pub type __ino64_t = ::std::os::raw::c_ulong;
136pub type __mode_t = ::std::os::raw::c_uint;
137pub type __nlink_t = ::std::os::raw::c_ulong;
138pub type __off_t = ::std::os::raw::c_long;
139pub type __off64_t = ::std::os::raw::c_long;
140pub type __pid_t = ::std::os::raw::c_int;
141#[repr(C)]
142#[derive(Debug, Copy, Clone)]
143pub struct __fsid_t {
144 pub __val: [::std::os::raw::c_int; 2usize],
145}
146pub type __clock_t = ::std::os::raw::c_long;
147pub type __rlim_t = ::std::os::raw::c_ulong;
148pub type __rlim64_t = ::std::os::raw::c_ulong;
149pub type __id_t = ::std::os::raw::c_uint;
150pub type __time_t = ::std::os::raw::c_long;
151pub type __useconds_t = ::std::os::raw::c_uint;
152pub type __suseconds_t = ::std::os::raw::c_long;
153pub type __suseconds64_t = ::std::os::raw::c_long;
154pub type __daddr_t = ::std::os::raw::c_int;
155pub type __key_t = ::std::os::raw::c_int;
156pub type __clockid_t = ::std::os::raw::c_int;
157pub type __timer_t = *mut ::std::os::raw::c_void;
158pub type __blksize_t = ::std::os::raw::c_long;
159pub type __blkcnt_t = ::std::os::raw::c_long;
160pub type __blkcnt64_t = ::std::os::raw::c_long;
161pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
162pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
163pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
164pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
165pub type __fsword_t = ::std::os::raw::c_long;
166pub type __ssize_t = ::std::os::raw::c_long;
167pub type __syscall_slong_t = ::std::os::raw::c_long;
168pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
169pub type __loff_t = __off64_t;
170pub type __caddr_t = *mut ::std::os::raw::c_char;
171pub type __intptr_t = ::std::os::raw::c_long;
172pub type __socklen_t = ::std::os::raw::c_uint;
173pub type __sig_atomic_t = ::std::os::raw::c_int;
174pub type int_least8_t = __int_least8_t;
175pub type int_least16_t = __int_least16_t;
176pub type int_least32_t = __int_least32_t;
177pub type int_least64_t = __int_least64_t;
178pub type uint_least8_t = __uint_least8_t;
179pub type uint_least16_t = __uint_least16_t;
180pub type uint_least32_t = __uint_least32_t;
181pub type uint_least64_t = __uint_least64_t;
182pub type int_fast8_t = ::std::os::raw::c_schar;
183pub type int_fast16_t = ::std::os::raw::c_long;
184pub type int_fast32_t = ::std::os::raw::c_long;
185pub type int_fast64_t = ::std::os::raw::c_long;
186pub type uint_fast8_t = ::std::os::raw::c_uchar;
187pub type uint_fast16_t = ::std::os::raw::c_ulong;
188pub type uint_fast32_t = ::std::os::raw::c_ulong;
189pub type uint_fast64_t = ::std::os::raw::c_ulong;
190pub type intmax_t = __intmax_t;
191pub type uintmax_t = __uintmax_t;
192#[repr(u32)]
193#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
194pub enum cass_bool_t {
195 cass_false = 0,
196 cass_true = 1,
197}
198pub type cass_float_t = f32;
199pub type cass_double_t = f64;
200pub type cass_int8_t = i8;
201pub type cass_uint8_t = u8;
202pub type cass_int16_t = i16;
203pub type cass_uint16_t = u16;
204pub type cass_int32_t = i32;
205pub type cass_uint32_t = u32;
206pub type cass_int64_t = i64;
207pub type cass_uint64_t = u64;
208pub type cass_byte_t = cass_uint8_t;
209pub type cass_duration_t = cass_uint64_t;
210#[doc = " IP address for either IPv4 or IPv6."]
211#[doc = ""]
212#[doc = " @struct CassInet"]
213#[repr(C)]
214#[derive(Debug, Copy, Clone)]
215pub struct CassInet_ {
216 #[doc = " Big-endian, binary representation of a IPv4 or IPv6 address"]
217 pub address: [cass_uint8_t; 16usize],
218 #[doc = " Number of address bytes. 4 bytes for IPv4 and 16 bytes for IPv6."]
219 pub address_length: cass_uint8_t,
220}
221#[doc = " IP address for either IPv4 or IPv6."]
222#[doc = ""]
223#[doc = " @struct CassInet"]
224pub type CassInet = CassInet_;
225#[doc = " Version 1 (time-based) or version 4 (random) UUID."]
226#[doc = ""]
227#[doc = " @struct CassUuid"]
228#[repr(C)]
229#[derive(Debug, Copy, Clone)]
230pub struct CassUuid_ {
231 #[doc = " Represents the time and version part of a UUID. The most significant"]
232 #[doc = " 4 bits represent the version and the bottom 60 bits representing the"]
233 #[doc = " time part. For version 1 the time part represents the number of"]
234 #[doc = " 100 nanosecond periods since 00:00:00 UTC, January 1, 1970 (the Epoch)."]
235 #[doc = " For version 4 the time part is randomly generated."]
236 pub time_and_version: cass_uint64_t,
237 #[doc = " Represents the clock sequence and the node part of a UUID. The most"]
238 #[doc = " significant 16 bits represent the clock sequence (except for the most"]
239 #[doc = " significant bit which is always set) and the bottom 48 bits represent"]
240 #[doc = " the node part. For version 1 (time-based) the clock sequence part is randomly"]
241 #[doc = " generated and the node part can be explicitly set, otherwise, it's generated"]
242 #[doc = " from node unique information. For version 4 both the clock sequence and the node"]
243 #[doc = " parts are randomly generated."]
244 pub clock_seq_and_node: cass_uint64_t,
245}
246#[doc = " Version 1 (time-based) or version 4 (random) UUID."]
247#[doc = ""]
248#[doc = " @struct CassUuid"]
249pub type CassUuid = CassUuid_;
250#[repr(C)]
251#[derive(Debug, Copy, Clone)]
252pub struct CassCluster_ {
253 _unused: [u8; 0],
254}
255#[doc = " A cluster object describes the configuration of the Cassandra cluster and is used"]
256#[doc = " to construct a session instance. Unlike other DataStax drivers the cluster object"]
257#[doc = " does not maintain the control connection."]
258#[doc = ""]
259#[doc = " @struct CassCluster"]
260pub type CassCluster = CassCluster_;
261#[repr(C)]
262#[derive(Debug, Copy, Clone)]
263pub struct CassSession_ {
264 _unused: [u8; 0],
265}
266#[doc = " A session object is used to execute queries and maintains cluster state through"]
267#[doc = " the control connection. The control connection is used to auto-discover nodes and"]
268#[doc = " monitor cluster changes (topology and schema). Each session also maintains multiple"]
269#[doc = " pools of connections to cluster nodes which are used to query the cluster."]
270#[doc = ""]
271#[doc = " Instances of the session object are thread-safe to execute queries."]
272#[doc = ""]
273#[doc = " @struct CassSession"]
274pub type CassSession = CassSession_;
275#[repr(C)]
276#[derive(Debug, Copy, Clone)]
277pub struct CassStatement_ {
278 _unused: [u8; 0],
279}
280#[doc = " A statement object is an executable query. It represents either a regular"]
281#[doc = " (adhoc) statement or a prepared statement. It maintains the queries' parameter"]
282#[doc = " values along with query options (consistency level, paging state, etc.)"]
283#[doc = ""]
284#[doc = " <b>Note:</b> Parameters for regular queries are not supported by the binary protocol"]
285#[doc = " version 1."]
286#[doc = ""]
287#[doc = " @struct CassStatement"]
288pub type CassStatement = CassStatement_;
289#[repr(C)]
290#[derive(Debug, Copy, Clone)]
291pub struct CassBatch_ {
292 _unused: [u8; 0],
293}
294#[doc = " A group of statements that are executed as a single batch."]
295#[doc = ""]
296#[doc = " <b>Note:</b> Batches are not supported by the binary protocol version 1."]
297#[doc = ""]
298#[doc = " @cassandra{2.0+}"]
299#[doc = ""]
300#[doc = " @struct CassBatch"]
301pub type CassBatch = CassBatch_;
302#[repr(C)]
303#[derive(Debug, Copy, Clone)]
304pub struct CassFuture_ {
305 _unused: [u8; 0],
306}
307#[doc = " The future result of an operation."]
308#[doc = ""]
309#[doc = " It can represent a result if the operation completed successfully or an"]
310#[doc = " error if the operation failed. It can be waited on, polled or a callback"]
311#[doc = " can be attached."]
312#[doc = ""]
313#[doc = " @struct CassFuture"]
314pub type CassFuture = CassFuture_;
315#[repr(C)]
316#[derive(Debug, Copy, Clone)]
317pub struct CassPrepared_ {
318 _unused: [u8; 0],
319}
320#[doc = " A statement that has been prepared cluster-side (It has been pre-parsed"]
321#[doc = " and cached)."]
322#[doc = ""]
323#[doc = " A prepared statement is read-only and it is thread-safe to concurrently"]
324#[doc = " bind new statements."]
325#[doc = ""]
326#[doc = " @struct CassPrepared"]
327pub type CassPrepared = CassPrepared_;
328#[repr(C)]
329#[derive(Debug, Copy, Clone)]
330pub struct CassResult_ {
331 _unused: [u8; 0],
332}
333#[doc = " The result of a query."]
334#[doc = ""]
335#[doc = " A result object is read-only and is thread-safe to read or iterate over"]
336#[doc = " concurrently."]
337#[doc = ""]
338#[doc = " @struct CassResult"]
339pub type CassResult = CassResult_;
340#[repr(C)]
341#[derive(Debug, Copy, Clone)]
342pub struct CassErrorResult_ {
343 _unused: [u8; 0],
344}
345#[doc = " A error result of a request"]
346#[doc = ""]
347#[doc = " @struct CassErrorResult"]
348pub type CassErrorResult = CassErrorResult_;
349#[repr(C)]
350#[derive(Debug, Copy, Clone)]
351pub struct CassNode_ {
352 _unused: [u8; 0],
353}
354#[doc = " An object that represents a cluster node."]
355#[doc = ""]
356#[doc = " @struct CassNode"]
357pub type CassNode = CassNode_;
358#[repr(C)]
359#[derive(Debug, Copy, Clone)]
360pub struct CassIterator_ {
361 _unused: [u8; 0],
362}
363#[doc = " An object used to iterate over a group of rows, columns or collection values."]
364#[doc = ""]
365#[doc = " @struct CassIterator"]
366pub type CassIterator = CassIterator_;
367#[repr(C)]
368#[derive(Debug, Copy, Clone)]
369pub struct CassRow_ {
370 _unused: [u8; 0],
371}
372#[doc = " A collection of column values."]
373#[doc = ""]
374#[doc = " @struct CassRow"]
375pub type CassRow = CassRow_;
376#[repr(C)]
377#[derive(Debug, Copy, Clone)]
378pub struct CassValue_ {
379 _unused: [u8; 0],
380}
381#[doc = " A single primitive value or a collection of values."]
382#[doc = ""]
383#[doc = " @struct CassValue"]
384pub type CassValue = CassValue_;
385#[repr(C)]
386#[derive(Debug, Copy, Clone)]
387pub struct CassDataType_ {
388 _unused: [u8; 0],
389}
390#[doc = " A data type used to describe a value, collection or"]
391#[doc = " user defined type."]
392#[doc = ""]
393#[doc = " @struct CassDataType"]
394pub type CassDataType = CassDataType_;
395#[repr(C)]
396#[derive(Debug, Copy, Clone)]
397pub struct CassFunctionMeta_ {
398 _unused: [u8; 0],
399}
400#[doc = " @struct CassFunctionMeta"]
401#[doc = ""]
402#[doc = " @cassandra{2.2+}"]
403pub type CassFunctionMeta = CassFunctionMeta_;
404#[repr(C)]
405#[derive(Debug, Copy, Clone)]
406pub struct CassAggregateMeta_ {
407 _unused: [u8; 0],
408}
409#[doc = " @struct CassAggregateMeta"]
410#[doc = ""]
411#[doc = " @cassandra{2.2+}"]
412pub type CassAggregateMeta = CassAggregateMeta_;
413#[repr(C)]
414#[derive(Debug, Copy, Clone)]
415pub struct CassCollection_ {
416 _unused: [u8; 0],
417}
418#[doc = " A collection of values."]
419#[doc = ""]
420#[doc = " @struct CassCollection"]
421pub type CassCollection = CassCollection_;
422#[repr(C)]
423#[derive(Debug, Copy, Clone)]
424pub struct CassTuple_ {
425 _unused: [u8; 0],
426}
427#[doc = " A tuple of values."]
428#[doc = ""]
429#[doc = " @struct CassTuple"]
430#[doc = ""]
431#[doc = " @cassandra{2.1+}"]
432pub type CassTuple = CassTuple_;
433#[repr(C)]
434#[derive(Debug, Copy, Clone)]
435pub struct CassUserType_ {
436 _unused: [u8; 0],
437}
438#[doc = " A user defined type."]
439#[doc = ""]
440#[doc = " @struct CassUserType"]
441#[doc = ""]
442#[doc = " @cassandra{2.1+}"]
443pub type CassUserType = CassUserType_;
444#[repr(C)]
445#[derive(Debug, Copy, Clone)]
446pub struct CassSsl_ {
447 _unused: [u8; 0],
448}
449#[doc = " Describes the SSL configuration of a cluster."]
450#[doc = ""]
451#[doc = " @struct CassSsl"]
452pub type CassSsl = CassSsl_;
453#[doc = " Describes the version of the connected Cassandra cluster."]
454#[doc = ""]
455#[doc = " @struct CassVersion"]
456#[repr(C)]
457#[derive(Debug, Copy, Clone)]
458pub struct CassVersion_ {
459 pub major_version: ::std::os::raw::c_int,
460 pub minor_version: ::std::os::raw::c_int,
461 pub patch_version: ::std::os::raw::c_int,
462}
463#[doc = " Describes the version of the connected Cassandra cluster."]
464#[doc = ""]
465#[doc = " @struct CassVersion"]
466pub type CassVersion = CassVersion_;
467#[repr(C)]
468#[derive(Debug, Copy, Clone)]
469pub struct CassSchemaMeta_ {
470 _unused: [u8; 0],
471}
472#[doc = " A snapshot of the schema's metadata."]
473#[doc = ""]
474#[doc = " @struct CassSchemaMeta"]
475pub type CassSchemaMeta = CassSchemaMeta_;
476#[repr(C)]
477#[derive(Debug, Copy, Clone)]
478pub struct CassKeyspaceMeta_ {
479 _unused: [u8; 0],
480}
481#[doc = " Keyspace metadata"]
482#[doc = ""]
483#[doc = " @struct CassKeyspaceMeta"]
484pub type CassKeyspaceMeta = CassKeyspaceMeta_;
485#[repr(C)]
486#[derive(Debug, Copy, Clone)]
487pub struct CassTableMeta_ {
488 _unused: [u8; 0],
489}
490#[doc = " Table metadata"]
491#[doc = ""]
492#[doc = " @struct CassTableMeta"]
493pub type CassTableMeta = CassTableMeta_;
494#[repr(C)]
495#[derive(Debug, Copy, Clone)]
496pub struct CassMaterializedViewMeta_ {
497 _unused: [u8; 0],
498}
499#[doc = " MaterializedView metadata"]
500#[doc = ""]
501#[doc = " @struct CassMaterializedViewMeta"]
502#[doc = ""]
503#[doc = " @cassandra{3.0+}"]
504pub type CassMaterializedViewMeta = CassMaterializedViewMeta_;
505#[repr(C)]
506#[derive(Debug, Copy, Clone)]
507pub struct CassColumnMeta_ {
508 _unused: [u8; 0],
509}
510#[doc = " Column metadata"]
511#[doc = ""]
512#[doc = " @struct CassColumnMeta"]
513pub type CassColumnMeta = CassColumnMeta_;
514#[repr(C)]
515#[derive(Debug, Copy, Clone)]
516pub struct CassIndexMeta_ {
517 _unused: [u8; 0],
518}
519#[doc = " Index metadata"]
520#[doc = ""]
521#[doc = " @struct CassIndexMeta"]
522pub type CassIndexMeta = CassIndexMeta_;
523#[repr(C)]
524#[derive(Debug, Copy, Clone)]
525pub struct CassUuidGen_ {
526 _unused: [u8; 0],
527}
528#[doc = " A UUID generator object."]
529#[doc = ""]
530#[doc = " Instances of the UUID generator object are thread-safe to generate UUIDs."]
531#[doc = ""]
532#[doc = " @struct CassUuidGen"]
533pub type CassUuidGen = CassUuidGen_;
534#[repr(C)]
535#[derive(Debug, Copy, Clone)]
536pub struct CassTimestampGen_ {
537 _unused: [u8; 0],
538}
539#[doc = " Policies that defined the behavior of a request when a server-side"]
540#[doc = " read/write timeout or unavailable error occurs."]
541#[doc = ""]
542#[doc = " Generators of client-side, microsecond-precision timestamps."]
543#[doc = ""]
544#[doc = " @struct CassTimestampGen"]
545#[doc = ""]
546#[doc = " @cassandra{2.1+}"]
547pub type CassTimestampGen = CassTimestampGen_;
548#[repr(C)]
549#[derive(Debug, Copy, Clone)]
550pub struct CassRetryPolicy_ {
551 _unused: [u8; 0],
552}
553#[doc = " @struct CassRetryPolicy"]
554pub type CassRetryPolicy = CassRetryPolicy_;
555#[repr(C)]
556#[derive(Debug, Copy, Clone)]
557pub struct CassCustomPayload_ {
558 _unused: [u8; 0],
559}
560#[doc = " @struct CassCustomPayload"]
561#[doc = ""]
562#[doc = " @cassandra{2.2+}"]
563pub type CassCustomPayload = CassCustomPayload_;
564#[doc = " A snapshot of the session's performance/diagnostic metrics."]
565#[doc = ""]
566#[doc = " @struct CassMetrics"]
567#[repr(C)]
568#[derive(Debug, Copy, Clone)]
569pub struct CassMetrics_ {
570 #[doc = "< Performance request metrics"]
571 pub requests: CassMetrics___bindgen_ty_1,
572 #[doc = "< Diagnostic metrics"]
573 pub stats: CassMetrics___bindgen_ty_2,
574 #[doc = "< Error metrics"]
575 pub errors: CassMetrics___bindgen_ty_3,
576}
577#[repr(C)]
578#[derive(Debug, Copy, Clone)]
579pub struct CassMetrics___bindgen_ty_1 {
580 #[doc = "< Minimum in microseconds"]
581 pub min: cass_uint64_t,
582 #[doc = "< Maximum in microseconds"]
583 pub max: cass_uint64_t,
584 #[doc = "< Mean in microseconds"]
585 pub mean: cass_uint64_t,
586 #[doc = "< Standard deviation in microseconds"]
587 pub stddev: cass_uint64_t,
588 #[doc = "< Median in microseconds"]
589 pub median: cass_uint64_t,
590 #[doc = "< 75th percentile in microseconds"]
591 pub percentile_75th: cass_uint64_t,
592 #[doc = "< 95th percentile in microseconds"]
593 pub percentile_95th: cass_uint64_t,
594 #[doc = "< 98th percentile in microseconds"]
595 pub percentile_98th: cass_uint64_t,
596 #[doc = "< 99the percentile in microseconds"]
597 pub percentile_99th: cass_uint64_t,
598 #[doc = "< 99.9th percentile in microseconds"]
599 pub percentile_999th: cass_uint64_t,
600 #[doc = "< Mean rate in requests per second"]
601 pub mean_rate: cass_double_t,
602 #[doc = "< 1 minute rate in requests per second"]
603 pub one_minute_rate: cass_double_t,
604 #[doc = "< 5 minute rate in requests per second"]
605 pub five_minute_rate: cass_double_t,
606 #[doc = "< 15 minute rate in requests per second"]
607 pub fifteen_minute_rate: cass_double_t,
608}
609#[repr(C)]
610#[derive(Debug, Copy, Clone)]
611pub struct CassMetrics___bindgen_ty_2 {
612 #[doc = "< The total number of connections"]
613 pub total_connections: cass_uint64_t,
614 #[doc = "< Deprecated"]
615 pub available_connections: cass_uint64_t,
616 #[doc = "< Deprecated"]
617 pub exceeded_pending_requests_water_mark: cass_uint64_t,
618 #[doc = "< Deprecated"]
619 pub exceeded_write_bytes_water_mark: cass_uint64_t,
620}
621#[repr(C)]
622#[derive(Debug, Copy, Clone)]
623pub struct CassMetrics___bindgen_ty_3 {
624 #[doc = "< Occurrences of a connection timeout"]
625 pub connection_timeouts: cass_uint64_t,
626 #[doc = "< Deprecated"]
627 pub pending_request_timeouts: cass_uint64_t,
628 #[doc = "< Occurrences of requests that timed out waiting for a request to finish"]
629 pub request_timeouts: cass_uint64_t,
630}
631#[doc = " A snapshot of the session's performance/diagnostic metrics."]
632#[doc = ""]
633#[doc = " @struct CassMetrics"]
634pub type CassMetrics = CassMetrics_;
635#[repr(C)]
636#[derive(Debug, Copy, Clone)]
637pub struct CassSpeculativeExecutionMetrics_ {
638 #[doc = "< Minimum in microseconds"]
639 pub min: cass_uint64_t,
640 #[doc = "< Maximum in microseconds"]
641 pub max: cass_uint64_t,
642 #[doc = "< Mean in microseconds"]
643 pub mean: cass_uint64_t,
644 #[doc = "< Standard deviation in microseconds"]
645 pub stddev: cass_uint64_t,
646 #[doc = "< Median in microseconds"]
647 pub median: cass_uint64_t,
648 #[doc = "< 75th percentile in microseconds"]
649 pub percentile_75th: cass_uint64_t,
650 #[doc = "< 95th percentile in microseconds"]
651 pub percentile_95th: cass_uint64_t,
652 #[doc = "< 98th percentile in microseconds"]
653 pub percentile_98th: cass_uint64_t,
654 #[doc = "< 99the percentile in microseconds"]
655 pub percentile_99th: cass_uint64_t,
656 #[doc = "< 99.9th percentile in microseconds"]
657 pub percentile_999th: cass_uint64_t,
658 #[doc = "< The number of aborted speculative retries"]
659 pub count: cass_uint64_t,
660 #[doc = "< Fraction of requests that are aborted speculative retries"]
661 pub percentage: cass_double_t,
662}
663pub type CassSpeculativeExecutionMetrics = CassSpeculativeExecutionMetrics_;
664#[repr(u32)]
665#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
666pub enum CassConsistency_ {
667 CASS_CONSISTENCY_UNKNOWN = 65535,
668 CASS_CONSISTENCY_ANY = 0,
669 CASS_CONSISTENCY_ONE = 1,
670 CASS_CONSISTENCY_TWO = 2,
671 CASS_CONSISTENCY_THREE = 3,
672 CASS_CONSISTENCY_QUORUM = 4,
673 CASS_CONSISTENCY_ALL = 5,
674 CASS_CONSISTENCY_LOCAL_QUORUM = 6,
675 CASS_CONSISTENCY_EACH_QUORUM = 7,
676 CASS_CONSISTENCY_SERIAL = 8,
677 CASS_CONSISTENCY_LOCAL_SERIAL = 9,
678 CASS_CONSISTENCY_LOCAL_ONE = 10,
679}
680pub use self::CassConsistency_ as CassConsistency;
681#[repr(u32)]
682#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
683pub enum CassWriteType_ {
684 CASS_WRITE_TYPE_UNKNOWN = 0,
685 CASS_WRITE_TYPE_SIMPLE = 1,
686 CASS_WRITE_TYPE_BATCH = 2,
687 CASS_WRITE_TYPE_UNLOGGED_BATCH = 3,
688 CASS_WRITE_TYPE_COUNTER = 4,
689 CASS_WRITE_TYPE_BATCH_LOG = 5,
690 CASS_WRITE_TYPE_CAS = 6,
691 CASS_WRITE_TYPE_VIEW = 7,
692 CASS_WRITE_TYPE_CDC = 8,
693}
694pub use self::CassWriteType_ as CassWriteType;
695#[repr(u32)]
696#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
697pub enum CassColumnType_ {
698 CASS_COLUMN_TYPE_REGULAR = 0,
699 CASS_COLUMN_TYPE_PARTITION_KEY = 1,
700 CASS_COLUMN_TYPE_CLUSTERING_KEY = 2,
701 CASS_COLUMN_TYPE_STATIC = 3,
702 CASS_COLUMN_TYPE_COMPACT_VALUE = 4,
703}
704pub use self::CassColumnType_ as CassColumnType;
705#[repr(u32)]
706#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
707pub enum CassIndexType_ {
708 CASS_INDEX_TYPE_UNKNOWN = 0,
709 CASS_INDEX_TYPE_KEYS = 1,
710 CASS_INDEX_TYPE_CUSTOM = 2,
711 CASS_INDEX_TYPE_COMPOSITES = 3,
712}
713pub use self::CassIndexType_ as CassIndexType;
714#[repr(u32)]
715#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
716pub enum CassValueType_ {
717 CASS_VALUE_TYPE_UNKNOWN = 65535,
718 CASS_VALUE_TYPE_CUSTOM = 0,
719 CASS_VALUE_TYPE_ASCII = 1,
720 CASS_VALUE_TYPE_BIGINT = 2,
721 CASS_VALUE_TYPE_BLOB = 3,
722 CASS_VALUE_TYPE_BOOLEAN = 4,
723 CASS_VALUE_TYPE_COUNTER = 5,
724 CASS_VALUE_TYPE_DECIMAL = 6,
725 CASS_VALUE_TYPE_DOUBLE = 7,
726 CASS_VALUE_TYPE_FLOAT = 8,
727 CASS_VALUE_TYPE_INT = 9,
728 CASS_VALUE_TYPE_TEXT = 10,
729 CASS_VALUE_TYPE_TIMESTAMP = 11,
730 CASS_VALUE_TYPE_UUID = 12,
731 CASS_VALUE_TYPE_VARCHAR = 13,
732 CASS_VALUE_TYPE_VARINT = 14,
733 CASS_VALUE_TYPE_TIMEUUID = 15,
734 CASS_VALUE_TYPE_INET = 16,
735 CASS_VALUE_TYPE_DATE = 17,
736 CASS_VALUE_TYPE_TIME = 18,
737 CASS_VALUE_TYPE_SMALL_INT = 19,
738 CASS_VALUE_TYPE_TINY_INT = 20,
739 CASS_VALUE_TYPE_DURATION = 21,
740 CASS_VALUE_TYPE_LIST = 32,
741 CASS_VALUE_TYPE_MAP = 33,
742 CASS_VALUE_TYPE_SET = 34,
743 CASS_VALUE_TYPE_UDT = 48,
744 CASS_VALUE_TYPE_TUPLE = 49,
745 CASS_VALUE_TYPE_LAST_ENTRY = 50,
746}
747pub use self::CassValueType_ as CassValueType;
748#[repr(u32)]
749#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
750pub enum CassClusteringOrder_ {
751 CASS_CLUSTERING_ORDER_NONE = 0,
752 CASS_CLUSTERING_ORDER_ASC = 1,
753 CASS_CLUSTERING_ORDER_DESC = 2,
754}
755pub use self::CassClusteringOrder_ as CassClusteringOrder;
756#[repr(u32)]
757#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
758pub enum CassCollectionType_ {
759 CASS_COLLECTION_TYPE_LIST = 32,
760 CASS_COLLECTION_TYPE_MAP = 33,
761 CASS_COLLECTION_TYPE_SET = 34,
762}
763pub use self::CassCollectionType_ as CassCollectionType;
764#[repr(u32)]
765#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
766pub enum CassBatchType_ {
767 CASS_BATCH_TYPE_LOGGED = 0,
768 CASS_BATCH_TYPE_UNLOGGED = 1,
769 CASS_BATCH_TYPE_COUNTER = 2,
770}
771pub use self::CassBatchType_ as CassBatchType;
772#[repr(u32)]
773#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
774pub enum CassIteratorType_ {
775 CASS_ITERATOR_TYPE_RESULT = 0,
776 CASS_ITERATOR_TYPE_ROW = 1,
777 CASS_ITERATOR_TYPE_COLLECTION = 2,
778 CASS_ITERATOR_TYPE_MAP = 3,
779 CASS_ITERATOR_TYPE_TUPLE = 4,
780 CASS_ITERATOR_TYPE_USER_TYPE_FIELD = 5,
781 CASS_ITERATOR_TYPE_META_FIELD = 6,
782 CASS_ITERATOR_TYPE_KEYSPACE_META = 7,
783 CASS_ITERATOR_TYPE_TABLE_META = 8,
784 CASS_ITERATOR_TYPE_TYPE_META = 9,
785 CASS_ITERATOR_TYPE_FUNCTION_META = 10,
786 CASS_ITERATOR_TYPE_AGGREGATE_META = 11,
787 CASS_ITERATOR_TYPE_COLUMN_META = 12,
788 CASS_ITERATOR_TYPE_INDEX_META = 13,
789 CASS_ITERATOR_TYPE_MATERIALIZED_VIEW_META = 14,
790}
791pub use self::CassIteratorType_ as CassIteratorType;
792#[repr(u32)]
793#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
794pub enum CassLogLevel_ {
795 CASS_LOG_DISABLED = 0,
796 CASS_LOG_CRITICAL = 1,
797 CASS_LOG_ERROR = 2,
798 CASS_LOG_WARN = 3,
799 CASS_LOG_INFO = 4,
800 CASS_LOG_DEBUG = 5,
801 CASS_LOG_TRACE = 6,
802 CASS_LOG_LAST_ENTRY = 7,
803}
804pub use self::CassLogLevel_ as CassLogLevel;
805#[repr(u32)]
806#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
807pub enum CassSslVerifyFlags_ {
808 CASS_SSL_VERIFY_NONE = 0,
809 CASS_SSL_VERIFY_PEER_CERT = 1,
810 CASS_SSL_VERIFY_PEER_IDENTITY = 2,
811 CASS_SSL_VERIFY_PEER_IDENTITY_DNS = 4,
812}
813pub use self::CassSslVerifyFlags_ as CassSslVerifyFlags;
814#[repr(u32)]
815#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
816pub enum CassProtocolVersion_ {
817 #[doc = "< Deprecated"]
818 CASS_PROTOCOL_VERSION_V1 = 1,
819 #[doc = "< Deprecated"]
820 CASS_PROTOCOL_VERSION_V2 = 2,
821 CASS_PROTOCOL_VERSION_V3 = 3,
822 CASS_PROTOCOL_VERSION_V4 = 4,
823 CASS_PROTOCOL_VERSION_V5 = 5,
824 #[doc = "< Only supported when using the DSE"]
825 #[doc = "driver with DataStax Enterprise"]
826 CASS_PROTOCOL_VERSION_DSEV1 = 65,
827 #[doc = "< Only supported when using the DSE"]
828 #[doc = "driver with DataStax Enterprise"]
829 CASS_PROTOCOL_VERSION_DSEV2 = 66,
830}
831pub use self::CassProtocolVersion_ as CassProtocolVersion;
832#[repr(u32)]
833#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
834pub enum CassErrorSource_ {
835 CASS_ERROR_SOURCE_NONE = 0,
836 CASS_ERROR_SOURCE_LIB = 1,
837 CASS_ERROR_SOURCE_SERVER = 2,
838 CASS_ERROR_SOURCE_SSL = 3,
839 CASS_ERROR_SOURCE_COMPRESSION = 4,
840}
841pub use self::CassErrorSource_ as CassErrorSource;
842#[repr(u32)]
843#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
844pub enum CassError_ {
845 CASS_OK = 0,
846 CASS_ERROR_LIB_BAD_PARAMS = 16777217,
847 CASS_ERROR_LIB_NO_STREAMS = 16777218,
848 CASS_ERROR_LIB_UNABLE_TO_INIT = 16777219,
849 CASS_ERROR_LIB_MESSAGE_ENCODE = 16777220,
850 CASS_ERROR_LIB_HOST_RESOLUTION = 16777221,
851 CASS_ERROR_LIB_UNEXPECTED_RESPONSE = 16777222,
852 CASS_ERROR_LIB_REQUEST_QUEUE_FULL = 16777223,
853 CASS_ERROR_LIB_NO_AVAILABLE_IO_THREAD = 16777224,
854 CASS_ERROR_LIB_WRITE_ERROR = 16777225,
855 CASS_ERROR_LIB_NO_HOSTS_AVAILABLE = 16777226,
856 CASS_ERROR_LIB_INDEX_OUT_OF_BOUNDS = 16777227,
857 CASS_ERROR_LIB_INVALID_ITEM_COUNT = 16777228,
858 CASS_ERROR_LIB_INVALID_VALUE_TYPE = 16777229,
859 CASS_ERROR_LIB_REQUEST_TIMED_OUT = 16777230,
860 CASS_ERROR_LIB_UNABLE_TO_SET_KEYSPACE = 16777231,
861 CASS_ERROR_LIB_CALLBACK_ALREADY_SET = 16777232,
862 CASS_ERROR_LIB_INVALID_STATEMENT_TYPE = 16777233,
863 CASS_ERROR_LIB_NAME_DOES_NOT_EXIST = 16777234,
864 CASS_ERROR_LIB_UNABLE_TO_DETERMINE_PROTOCOL = 16777235,
865 CASS_ERROR_LIB_NULL_VALUE = 16777236,
866 CASS_ERROR_LIB_NOT_IMPLEMENTED = 16777237,
867 CASS_ERROR_LIB_UNABLE_TO_CONNECT = 16777238,
868 CASS_ERROR_LIB_UNABLE_TO_CLOSE = 16777239,
869 CASS_ERROR_LIB_NO_PAGING_STATE = 16777240,
870 CASS_ERROR_LIB_PARAMETER_UNSET = 16777241,
871 CASS_ERROR_LIB_INVALID_ERROR_RESULT_TYPE = 16777242,
872 CASS_ERROR_LIB_INVALID_FUTURE_TYPE = 16777243,
873 CASS_ERROR_LIB_INTERNAL_ERROR = 16777244,
874 CASS_ERROR_LIB_INVALID_CUSTOM_TYPE = 16777245,
875 CASS_ERROR_LIB_INVALID_DATA = 16777246,
876 CASS_ERROR_LIB_NOT_ENOUGH_DATA = 16777247,
877 CASS_ERROR_LIB_INVALID_STATE = 16777248,
878 CASS_ERROR_LIB_NO_CUSTOM_PAYLOAD = 16777249,
879 CASS_ERROR_LIB_EXECUTION_PROFILE_INVALID = 16777250,
880 CASS_ERROR_LIB_NO_TRACING_ID = 16777251,
881 CASS_ERROR_SERVER_SERVER_ERROR = 33554432,
882 CASS_ERROR_SERVER_PROTOCOL_ERROR = 33554442,
883 CASS_ERROR_SERVER_BAD_CREDENTIALS = 33554688,
884 CASS_ERROR_SERVER_UNAVAILABLE = 33558528,
885 CASS_ERROR_SERVER_OVERLOADED = 33558529,
886 CASS_ERROR_SERVER_IS_BOOTSTRAPPING = 33558530,
887 CASS_ERROR_SERVER_TRUNCATE_ERROR = 33558531,
888 CASS_ERROR_SERVER_WRITE_TIMEOUT = 33558784,
889 CASS_ERROR_SERVER_READ_TIMEOUT = 33559040,
890 CASS_ERROR_SERVER_READ_FAILURE = 33559296,
891 CASS_ERROR_SERVER_FUNCTION_FAILURE = 33559552,
892 CASS_ERROR_SERVER_WRITE_FAILURE = 33559808,
893 CASS_ERROR_SERVER_SYNTAX_ERROR = 33562624,
894 CASS_ERROR_SERVER_UNAUTHORIZED = 33562880,
895 CASS_ERROR_SERVER_INVALID_QUERY = 33563136,
896 CASS_ERROR_SERVER_CONFIG_ERROR = 33563392,
897 CASS_ERROR_SERVER_ALREADY_EXISTS = 33563648,
898 CASS_ERROR_SERVER_UNPREPARED = 33563904,
899 CASS_ERROR_SSL_INVALID_CERT = 50331649,
900 CASS_ERROR_SSL_INVALID_PRIVATE_KEY = 50331650,
901 CASS_ERROR_SSL_NO_PEER_CERT = 50331651,
902 CASS_ERROR_SSL_INVALID_PEER_CERT = 50331652,
903 CASS_ERROR_SSL_IDENTITY_MISMATCH = 50331653,
904 CASS_ERROR_SSL_PROTOCOL_ERROR = 50331654,
905 CASS_ERROR_SSL_CLOSED = 50331655,
906 CASS_ERROR_LAST_ENTRY = 50331656,
907}
908pub use self::CassError_ as CassError;
909#[doc = " A callback that's notified when the future is set."]
910#[doc = ""]
911#[doc = " @param[in] message"]
912#[doc = " @param[in] data user defined data provided when the callback"]
913#[doc = " was registered."]
914#[doc = ""]
915#[doc = " @see cass_future_set_callback()"]
916pub type CassFutureCallback = ::std::option::Option<
917 unsafe extern "C" fn(future: *mut CassFuture, data: *mut ::std::os::raw::c_void),
918>;
919#[doc = " A log message."]
920#[repr(C)]
921#[derive(Debug, Copy, Clone)]
922pub struct CassLogMessage_ {
923 #[doc = " The millisecond timestamp (since the Epoch) when the message was logged"]
924 pub time_ms: cass_uint64_t,
925 #[doc = "< The severity of the log message"]
926 pub severity: CassLogLevel,
927 #[doc = "< The file where the message was logged"]
928 pub file: *const ::std::os::raw::c_char,
929 #[doc = "< The line in the file where the message was logged"]
930 pub line: ::std::os::raw::c_int,
931 #[doc = "< The function where the message was logged"]
932 pub function: *const ::std::os::raw::c_char,
933 #[doc = "< The message"]
934 pub message: [::std::os::raw::c_char; 1024usize],
935}
936#[doc = " A log message."]
937pub type CassLogMessage = CassLogMessage_;
938#[doc = " A callback that's used to handle logging."]
939#[doc = ""]
940#[doc = " @param[in] message"]
941#[doc = " @param[in] data user defined data provided when the callback"]
942#[doc = " was registered."]
943#[doc = ""]
944#[doc = " @see cass_log_set_callback()"]
945pub type CassLogCallback = ::std::option::Option<
946 unsafe extern "C" fn(message: *const CassLogMessage, data: *mut ::std::os::raw::c_void),
947>;
948#[doc = " A custom malloc function. This function should allocate \"size\" bytes and"]
949#[doc = " return a pointer to that memory"]
950#[doc = ""]
951#[doc = " @param[in] size The size of the memory to allocate"]
952#[doc = ""]
953#[doc = " @see CassFreeFunction"]
954#[doc = " @see cass_alloc_set_functions()"]
955pub type CassMallocFunction =
956 ::std::option::Option<unsafe extern "C" fn(size: usize) -> *mut ::std::os::raw::c_void>;
957#[doc = " A custom realloc function. This function attempts to change the size of the"]
958#[doc = " memory pointed to by \"ptr\". If the memory cannot be resized then new memory"]
959#[doc = " should be allocated and contain the contents of the original memory at \"ptr\"."]
960#[doc = ""]
961#[doc = " @param[in] ptr A pointer to the original memory. If NULL it should behave the"]
962#[doc = " same as \"CassMallocFunction\""]
963#[doc = " @param[in] size The size of the memory to allocate/resize."]
964#[doc = ""]
965#[doc = " @see CassMallocFunction"]
966#[doc = " @see CassFreeFunction"]
967#[doc = " @see cass_alloc_set_functions()"]
968pub type CassReallocFunction = ::std::option::Option<
969 unsafe extern "C" fn(
970 ptr: *mut ::std::os::raw::c_void,
971 size: usize,
972 ) -> *mut ::std::os::raw::c_void,
973>;
974#[doc = " A custom free function. This function deallocates the memory pointed to by"]
975#[doc = " \"ptr\" that was previously allocated by a \"CassMallocFunction\" or"]
976#[doc = " \"CassReallocFunction\" function."]
977#[doc = ""]
978#[doc = " @param[in] ptr A pointer to memory that should be deallocated. If NULL then"]
979#[doc = " this will perform no operation."]
980#[doc = ""]
981#[doc = " @see CassMallocFunction"]
982#[doc = " @see CassReallocFunction"]
983#[doc = " @see cass_alloc_set_functions()"]
984pub type CassFreeFunction =
985 ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
986#[repr(C)]
987#[derive(Debug, Copy, Clone)]
988pub struct CassAuthenticator_ {
989 _unused: [u8; 0],
990}
991#[doc = " An authenticator."]
992#[doc = ""]
993#[doc = " @struct CassAuthenticator"]
994pub type CassAuthenticator = CassAuthenticator_;
995#[doc = " A callback used to initiate an authentication exchange."]
996#[doc = ""]
997#[doc = " Use cass_authenticator_set_response() to set the response token."]
998#[doc = ""]
999#[doc = " Use cass_authenticator_set_error() if an error occurred during"]
1000#[doc = " initialization."]
1001#[doc = ""]
1002#[doc = " @param[in] auth"]
1003#[doc = " @param[in] data"]
1004pub type CassAuthenticatorInitialCallback = ::std::option::Option<
1005 unsafe extern "C" fn(auth: *mut CassAuthenticator, data: *mut ::std::os::raw::c_void),
1006>;
1007#[doc = " A callback used when an authentication challenge initiated"]
1008#[doc = " by the server."]
1009#[doc = ""]
1010#[doc = " Use cass_authenticator_set_response() to set the response token."]
1011#[doc = ""]
1012#[doc = " Use cass_authenticator_set_error() if an error occurred during the"]
1013#[doc = " challenge."]
1014#[doc = ""]
1015#[doc = " @param[in] auth"]
1016#[doc = " @param[in] data"]
1017#[doc = " @param[in] token"]
1018#[doc = " @param[in] token_size"]
1019pub type CassAuthenticatorChallengeCallback = ::std::option::Option<
1020 unsafe extern "C" fn(
1021 auth: *mut CassAuthenticator,
1022 data: *mut ::std::os::raw::c_void,
1023 token: *const ::std::os::raw::c_char,
1024 token_size: usize,
1025 ),
1026>;
1027#[doc = " A callback used to indicate the success of the authentication"]
1028#[doc = " exchange."]
1029#[doc = ""]
1030#[doc = " Use cass_authenticator_set_error() if an error occurred while evaluating"]
1031#[doc = " the success token."]
1032#[doc = ""]
1033#[doc = " @param[in] auth"]
1034#[doc = " @param[in] data"]
1035#[doc = " @param[in] token"]
1036#[doc = " @param[in] token_size"]
1037pub type CassAuthenticatorSuccessCallback = ::std::option::Option<
1038 unsafe extern "C" fn(
1039 auth: *mut CassAuthenticator,
1040 data: *mut ::std::os::raw::c_void,
1041 token: *const ::std::os::raw::c_char,
1042 token_size: usize,
1043 ),
1044>;
1045#[doc = " A callback used to cleanup resources that were acquired during"]
1046#[doc = " the process of the authentication exchange. This is called after"]
1047#[doc = " the termination of the exchange regardless of the outcome."]
1048#[doc = ""]
1049#[doc = " @param[in] auth"]
1050#[doc = " @param[in] data"]
1051pub type CassAuthenticatorCleanupCallback = ::std::option::Option<
1052 unsafe extern "C" fn(auth: *mut CassAuthenticator, data: *mut ::std::os::raw::c_void),
1053>;
1054#[doc = " A callback used to cleanup resources."]
1055#[doc = ""]
1056#[doc = " @param[in] data"]
1057pub type CassAuthenticatorDataCleanupCallback =
1058 ::std::option::Option<unsafe extern "C" fn(data: *mut ::std::os::raw::c_void)>;
1059#[doc = " Authenticator callbacks"]
1060#[repr(C)]
1061#[derive(Debug, Copy, Clone)]
1062pub struct CassAuthenticatorCallbacks_ {
1063 pub initial_callback: CassAuthenticatorInitialCallback,
1064 pub challenge_callback: CassAuthenticatorChallengeCallback,
1065 pub success_callback: CassAuthenticatorSuccessCallback,
1066 pub cleanup_callback: CassAuthenticatorCleanupCallback,
1067}
1068#[doc = " Authenticator callbacks"]
1069pub type CassAuthenticatorCallbacks = CassAuthenticatorCallbacks_;
1070#[repr(u32)]
1071#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1072pub enum CassHostListenerEvent_ {
1073 CASS_HOST_LISTENER_EVENT_UP = 0,
1074 CASS_HOST_LISTENER_EVENT_DOWN = 1,
1075 CASS_HOST_LISTENER_EVENT_ADD = 2,
1076 CASS_HOST_LISTENER_EVENT_REMOVE = 3,
1077}
1078pub use self::CassHostListenerEvent_ as CassHostListenerEvent;
1079#[doc = " A callback used to indicate the host state for a node in the cluster."]
1080#[doc = ""]
1081#[doc = " @param[in] event"]
1082#[doc = " @param[in] address"]
1083#[doc = " @param[in] data"]
1084#[doc = " @see cass_cluster_set_host_listener_callback()"]
1085pub type CassHostListenerCallback = ::std::option::Option<
1086 unsafe extern "C" fn(
1087 event: CassHostListenerEvent,
1088 address: CassInet,
1089 data: *mut ::std::os::raw::c_void,
1090 ),
1091>;
1092#[repr(C)]
1093#[derive(Debug, Copy, Clone)]
1094pub struct CassExecProfile_ {
1095 _unused: [u8; 0],
1096}
1097#[doc = " An execution profile object provides a mechanism to group together a set of"]
1098#[doc = " configuration options and reuse them across different statement executions."]
1099#[doc = " This feature is useful when dealing with different query workloads."]
1100#[doc = ""]
1101#[doc = " @struct CassExecProfile"]
1102pub type CassExecProfile = CassExecProfile_;
1103extern "C" {
1104 #[doc = " Creates a new execution profile."]
1105 #[doc = ""]
1106 #[doc = " @public @memberof CassExecProfile"]
1107 #[doc = ""]
1108 #[doc = " @return Returns a execution profile that must be freed."]
1109 #[doc = ""]
1110 #[doc = " @see cass_execution_profile_free()"]
1111 pub fn cass_execution_profile_new() -> *mut CassExecProfile;
1112}
1113extern "C" {
1114 #[doc = " Frees a execution profile instance."]
1115 #[doc = ""]
1116 #[doc = " @public @memberof CassExecProfile"]
1117 #[doc = ""]
1118 #[doc = " @param[in] profile"]
1119 pub fn cass_execution_profile_free(profile: *mut CassExecProfile);
1120}
1121extern "C" {
1122 #[doc = " Sets the timeout waiting for a response from a node."]
1123 #[doc = ""]
1124 #[doc = " <b>Default:</b> Disabled (uses the cluster request timeout)"]
1125 #[doc = ""]
1126 #[doc = " @public @memberof CassExecProfile"]
1127 #[doc = ""]
1128 #[doc = " @param[in] profile"]
1129 #[doc = " @param[in] timeout_ms Request timeout in milliseconds. Use 0 for no timeout"]
1130 #[doc = " or CASS_UINT64_MAX to disable."]
1131 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1132 #[doc = ""]
1133 #[doc = " @see cass_statement_set_request_timeout()"]
1134 pub fn cass_execution_profile_set_request_timeout(
1135 profile: *mut CassExecProfile,
1136 timeout_ms: cass_uint64_t,
1137 ) -> CassError;
1138}
1139extern "C" {
1140 #[doc = " Sets the consistency level."]
1141 #[doc = ""]
1142 #[doc = " <b>Default:</b> Disabled (uses the default consistency)"]
1143 #[doc = ""]
1144 #[doc = " @public @memberof CassExecProfile"]
1145 #[doc = ""]
1146 #[doc = " @param[in] profile"]
1147 #[doc = " @param[in] consistency"]
1148 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1149 #[doc = ""]
1150 #[doc = " @see cass_statement_set_consistency()"]
1151 pub fn cass_execution_profile_set_consistency(
1152 profile: *mut CassExecProfile,
1153 consistency: CassConsistency,
1154 ) -> CassError;
1155}
1156extern "C" {
1157 #[doc = " Sets the serial consistency level."]
1158 #[doc = ""]
1159 #[doc = " <b>Default:</b> Disabled (uses the default serial consistency)"]
1160 #[doc = ""]
1161 #[doc = " @public @memberof CassExecProfile"]
1162 #[doc = ""]
1163 #[doc = " @param[in] profile"]
1164 #[doc = " @param[in] serial_consistency"]
1165 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1166 #[doc = ""]
1167 #[doc = " @see cass_statement_set_serial_consistency()"]
1168 pub fn cass_execution_profile_set_serial_consistency(
1169 profile: *mut CassExecProfile,
1170 serial_consistency: CassConsistency,
1171 ) -> CassError;
1172}
1173extern "C" {
1174 #[doc = " Configures the execution profile to use round-robin load balancing."]
1175 #[doc = ""]
1176 #[doc = " The driver discovers all nodes in a cluster and cycles through"]
1177 #[doc = " them per request. All are considered 'local'."]
1178 #[doc = ""]
1179 #[doc = " <b>Note:</b> Profile-based load balancing policy is disabled by default;"]
1180 #[doc = " cluster load balancing policy is used when profile does not contain a policy."]
1181 #[doc = ""]
1182 #[doc = " @public @memberof CassExecProfile"]
1183 #[doc = ""]
1184 #[doc = " @param[in] profile"]
1185 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1186 #[doc = ""]
1187 #[doc = " @see cass_cluster_set_load_balance_round_robin()"]
1188 pub fn cass_execution_profile_set_load_balance_round_robin(
1189 profile: *mut CassExecProfile,
1190 ) -> CassError;
1191}
1192extern "C" {
1193 #[doc = " Configures the execution profile to use DC-aware load balancing."]
1194 #[doc = " For each query, all live nodes in a primary 'local' DC are tried first,"]
1195 #[doc = " followed by any node from other DCs."]
1196 #[doc = ""]
1197 #[doc = " <b>Note:</b> Profile-based load balancing policy is disabled by default;"]
1198 #[doc = " cluster load balancing policy is used when profile does not contain a policy."]
1199 #[doc = ""]
1200 #[doc = " @deprecated The remote DC settings for DC-aware are not suitable for most"]
1201 #[doc = " scenarios that require DC failover. There is also unhandled gap between"]
1202 #[doc = " replication factor number of nodes failing and the full cluster failing. Only"]
1203 #[doc = " the remote DC settings are being deprecated."]
1204 #[doc = ""]
1205 #[doc = " @public @memberof CassExecProfile"]
1206 #[doc = ""]
1207 #[doc = " @param[in] profile"]
1208 #[doc = " @param[in] local_dc The primary data center to try first"]
1209 #[doc = " @param[in] used_hosts_per_remote_dc The number of hosts used in each remote"]
1210 #[doc = " DC if no hosts are available in the local dc (<b>deprecated</b>)"]
1211 #[doc = " @param[in] allow_remote_dcs_for_local_cl Allows remote hosts to be used if no"]
1212 #[doc = " local dc hosts are available and the consistency level is LOCAL_ONE or"]
1213 #[doc = " LOCAL_QUORUM (<b>deprecated</b>)"]
1214 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1215 #[doc = ""]
1216 #[doc = " @see cass_cluster_set_load_balance_dc_aware()"]
1217 pub fn cass_execution_profile_set_load_balance_dc_aware(
1218 profile: *mut CassExecProfile,
1219 local_dc: *const ::std::os::raw::c_char,
1220 used_hosts_per_remote_dc: ::std::os::raw::c_uint,
1221 allow_remote_dcs_for_local_cl: cass_bool_t,
1222 ) -> CassError;
1223}
1224extern "C" {
1225 #[doc = " Same as cass_execution_profile_set_load_balance_dc_aware(), but with lengths"]
1226 #[doc = " for string parameters."]
1227 #[doc = ""]
1228 #[doc = " @deprecated The remote DC settings for DC-aware are not suitable for most"]
1229 #[doc = " scenarios that require DC failover. There is also unhandled gap between"]
1230 #[doc = " replication factor number of nodes failing and the full cluster failing. Only"]
1231 #[doc = " the remote DC settings are being deprecated."]
1232 #[doc = ""]
1233 #[doc = " @public @memberof CassExecProfile"]
1234 #[doc = ""]
1235 #[doc = " @param[in] profile"]
1236 #[doc = " @param[in] local_dc"]
1237 #[doc = " @param[in] local_dc_length"]
1238 #[doc = " @param[in] used_hosts_per_remote_dc (<b>deprecated</b>)"]
1239 #[doc = " @param[in] allow_remote_dcs_for_local_cl (<b>deprecated</b>)"]
1240 #[doc = " @return same as cass_execution_profile_set_load_balance_dc_aware()"]
1241 #[doc = ""]
1242 #[doc = " @see cass_execution_profile_set_load_balance_dc_aware()"]
1243 #[doc = " @see cass_cluster_set_load_balance_dc_aware_n()"]
1244 pub fn cass_execution_profile_set_load_balance_dc_aware_n(
1245 profile: *mut CassExecProfile,
1246 local_dc: *const ::std::os::raw::c_char,
1247 local_dc_length: usize,
1248 used_hosts_per_remote_dc: ::std::os::raw::c_uint,
1249 allow_remote_dcs_for_local_cl: cass_bool_t,
1250 ) -> CassError;
1251}
1252extern "C" {
1253 #[doc = " Configures the execution profile to use token-aware request routing or not."]
1254 #[doc = ""]
1255 #[doc = " <b>Important:</b> Token-aware routing depends on keyspace metadata."]
1256 #[doc = " For this reason enabling token-aware routing will also enable retrieving"]
1257 #[doc = " and updating keyspace schema metadata."]
1258 #[doc = ""]
1259 #[doc = " <b>Default:</b> cass_true (enabled)."]
1260 #[doc = ""]
1261 #[doc = " This routing policy composes the base routing policy, routing"]
1262 #[doc = " requests first to replicas on nodes considered 'local' by"]
1263 #[doc = " the base load balancing policy."]
1264 #[doc = ""]
1265 #[doc = " <b>Note:</b> Execution profiles use the cluster-level load balancing policy"]
1266 #[doc = " unless enabled. This setting is not applicable unless a load balancing policy"]
1267 #[doc = " is enabled on the execution profile."]
1268 #[doc = ""]
1269 #[doc = " @public @memberof CassExecProfile"]
1270 #[doc = ""]
1271 #[doc = " @param[in] profile"]
1272 #[doc = " @param[in] enabled"]
1273 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1274 #[doc = ""]
1275 #[doc = " @see cass_cluster_set_token_aware_routing()"]
1276 pub fn cass_execution_profile_set_token_aware_routing(
1277 profile: *mut CassExecProfile,
1278 enabled: cass_bool_t,
1279 ) -> CassError;
1280}
1281extern "C" {
1282 #[doc = " Configures the execution profile's token-aware routing to randomly shuffle"]
1283 #[doc = " replicas. This can reduce the effectiveness of server-side caching, but it"]
1284 #[doc = " can better distribute load over replicas for a given partition key."]
1285 #[doc = ""]
1286 #[doc = " <b>Note:</b> Token-aware routing must be enabled and a load balancing policy"]
1287 #[doc = " must be enabled on the execution profile for the setting to be applicable."]
1288 #[doc = ""]
1289 #[doc = " <b>Default:</b> cass_true (enabled)."]
1290 #[doc = ""]
1291 #[doc = " @public @memberof CassExecProfile"]
1292 #[doc = ""]
1293 #[doc = " @param[in] profile"]
1294 #[doc = " @param[in] enabled"]
1295 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1296 #[doc = ""]
1297 #[doc = " @see cass_cluster_set_token_aware_routing_shuffle_replicas()"]
1298 pub fn cass_execution_profile_set_token_aware_routing_shuffle_replicas(
1299 profile: *mut CassExecProfile,
1300 enabled: cass_bool_t,
1301 ) -> CassError;
1302}
1303extern "C" {
1304 #[doc = " Configures the execution profile to use latency-aware request routing or not."]
1305 #[doc = ""]
1306 #[doc = " <b>Note:</b> Execution profiles use the cluster-level load balancing policy"]
1307 #[doc = " unless enabled. This setting is not applicable unless a load balancing policy"]
1308 #[doc = " is enabled on the execution profile."]
1309 #[doc = ""]
1310 #[doc = " <b>Default:</b> cass_false (disabled)."]
1311 #[doc = ""]
1312 #[doc = " This routing policy is a top-level routing policy. It uses the"]
1313 #[doc = " base routing policy to determine locality (dc-aware) and/or"]
1314 #[doc = " placement (token-aware) before considering the latency."]
1315 #[doc = ""]
1316 #[doc = " @public @memberof CassExecProfile"]
1317 #[doc = ""]
1318 #[doc = " @param[in] profile"]
1319 #[doc = " @param[in] enabled"]
1320 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1321 #[doc = ""]
1322 #[doc = " @see cass_cluster_set_latency_aware_routing()"]
1323 pub fn cass_execution_profile_set_latency_aware_routing(
1324 profile: *mut CassExecProfile,
1325 enabled: cass_bool_t,
1326 ) -> CassError;
1327}
1328extern "C" {
1329 #[doc = " Configures the execution profile's settings for latency-aware request"]
1330 #[doc = " routing."]
1331 #[doc = ""]
1332 #[doc = " <b>Note:</b> Execution profiles use the cluster-level load balancing policy"]
1333 #[doc = " unless enabled. This setting is not applicable unless a load balancing policy"]
1334 #[doc = " is enabled on the execution profile."]
1335 #[doc = ""]
1336 #[doc = " <b>Defaults:</b>"]
1337 #[doc = ""]
1338 #[doc = " <ul>"]
1339 #[doc = " <li>exclusion_threshold: 2.0</li>"]
1340 #[doc = " <li>scale_ms: 100 milliseconds</li>"]
1341 #[doc = " <li>retry_period_ms: 10,000 milliseconds (10 seconds)</li>"]
1342 #[doc = " <li>update_rate_ms: 100 milliseconds</li>"]
1343 #[doc = " <li>min_measured: 50</li>"]
1344 #[doc = " </ul>"]
1345 #[doc = ""]
1346 #[doc = " @public @memberof CassExecProfile"]
1347 #[doc = ""]
1348 #[doc = " @param[in] profile"]
1349 #[doc = " @param[in] exclusion_threshold Controls how much worse the latency must be"]
1350 #[doc = " compared to the average latency of the best performing node before it"]
1351 #[doc = " penalized."]
1352 #[doc = " @param[in] scale_ms Controls the weight given to older latencies when"]
1353 #[doc = " calculating the average latency of a node. A bigger scale will give more"]
1354 #[doc = " weight to older latency measurements."]
1355 #[doc = " @param[in] retry_period_ms The amount of time a node is penalized by the"]
1356 #[doc = " policy before being given a second chance when the current average latency"]
1357 #[doc = " exceeds the calculated threshold"]
1358 #[doc = " (exclusion_threshold * best_average_latency)."]
1359 #[doc = " @param[in] update_rate_ms The rate at which the best average latency is"]
1360 #[doc = " recomputed."]
1361 #[doc = " @param[in] min_measured The minimum number of measurements per-host required"]
1362 #[doc = " to be considered by the policy."]
1363 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1364 #[doc = ""]
1365 #[doc = " @see cass_cluster_set_latency_aware_routing_settings()"]
1366 pub fn cass_execution_profile_set_latency_aware_routing_settings(
1367 profile: *mut CassExecProfile,
1368 exclusion_threshold: cass_double_t,
1369 scale_ms: cass_uint64_t,
1370 retry_period_ms: cass_uint64_t,
1371 update_rate_ms: cass_uint64_t,
1372 min_measured: cass_uint64_t,
1373 ) -> CassError;
1374}
1375extern "C" {
1376 #[doc = " Sets/Appends whitelist hosts for the execution profile. The first call sets"]
1377 #[doc = " the whitelist hosts and any subsequent calls appends additional hosts."]
1378 #[doc = " Passing an empty string will clear and disable the whitelist. White space is"]
1379 #[doc = " striped from the hosts."]
1380 #[doc = ""]
1381 #[doc = " This policy filters requests to all other policies, only allowing requests"]
1382 #[doc = " to the hosts contained in the whitelist. Any host not in the whitelist will"]
1383 #[doc = " be ignored and a connection will not be established. This policy is useful"]
1384 #[doc = " for ensuring that the driver will only connect to a predefined set of hosts."]
1385 #[doc = ""]
1386 #[doc = " Examples: \"127.0.0.1\" \"127.0.0.1,127.0.0.2\""]
1387 #[doc = ""]
1388 #[doc = " <b>Note:</b> Execution profiles use the cluster-level load balancing policy"]
1389 #[doc = " unless enabled. This setting is not applicable unless a load balancing policy"]
1390 #[doc = " is enabled on the execution profile."]
1391 #[doc = ""]
1392 #[doc = " @public @memberof CassExecProfile"]
1393 #[doc = ""]
1394 #[doc = " @param[in] profile"]
1395 #[doc = " @param[in] hosts A comma delimited list of addresses. An empty string will"]
1396 #[doc = " clear the whitelist hosts. The string is copied into the cluster"]
1397 #[doc = " configuration; the memory pointed to by this parameter can be freed after"]
1398 #[doc = " this call."]
1399 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1400 #[doc = ""]
1401 #[doc = " @see cass_cluster_set_whitelist_filtering()"]
1402 pub fn cass_execution_profile_set_whitelist_filtering(
1403 profile: *mut CassExecProfile,
1404 hosts: *const ::std::os::raw::c_char,
1405 ) -> CassError;
1406}
1407extern "C" {
1408 #[doc = " Same as cass_execution_profile_set_whitelist_filtering(), but with lengths"]
1409 #[doc = " for string parameters."]
1410 #[doc = ""]
1411 #[doc = " @public @memberof CassExecProfile"]
1412 #[doc = ""]
1413 #[doc = " @param[in] profile"]
1414 #[doc = " @param[in] hosts"]
1415 #[doc = " @param[in] hosts_length"]
1416 #[doc = " @return same as cass_execution_profile_set_whitelist_filtering()"]
1417 #[doc = ""]
1418 #[doc = " @see cass_execution_profile_set_whitelist_filtering()"]
1419 #[doc = " @see cass_cluster_set_whitelist_filtering()"]
1420 pub fn cass_execution_profile_set_whitelist_filtering_n(
1421 profile: *mut CassExecProfile,
1422 hosts: *const ::std::os::raw::c_char,
1423 hosts_length: usize,
1424 ) -> CassError;
1425}
1426extern "C" {
1427 #[doc = " Sets/Appends blacklist hosts for the execution profile. The first call sets"]
1428 #[doc = " the blacklist hosts and any subsequent calls appends additional hosts."]
1429 #[doc = " Passing an empty string will clear and disable the blacklist. White space is"]
1430 #[doc = " striped from the hosts."]
1431 #[doc = ""]
1432 #[doc = " This policy filters requests to all other policies, only allowing requests"]
1433 #[doc = " to the hosts not contained in the blacklist. Any host in the blacklist will"]
1434 #[doc = " be ignored and a connection will not be established. This policy is useful"]
1435 #[doc = " for ensuring that the driver will not connect to a predefined set of hosts."]
1436 #[doc = ""]
1437 #[doc = " Examples: \"127.0.0.1\" \"127.0.0.1,127.0.0.2\""]
1438 #[doc = ""]
1439 #[doc = " <b>Note:</b> Execution profiles use the cluster-level load balancing policy"]
1440 #[doc = " unless enabled. This setting is not applicable unless a load balancing policy"]
1441 #[doc = " is enabled on the execution profile."]
1442 #[doc = ""]
1443 #[doc = " @public @memberof CassExecProfile"]
1444 #[doc = ""]
1445 #[doc = " @param[in] profile"]
1446 #[doc = " @param[in] hosts A comma delimited list of addresses. An empty string will"]
1447 #[doc = " clear the blacklist hosts. The string is copied into the cluster"]
1448 #[doc = " configuration; the memory pointed to by this parameter can be freed after"]
1449 #[doc = " this call."]
1450 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1451 #[doc = ""]
1452 #[doc = " @see cass_cluster_set_blacklist_filtering()"]
1453 pub fn cass_execution_profile_set_blacklist_filtering(
1454 profile: *mut CassExecProfile,
1455 hosts: *const ::std::os::raw::c_char,
1456 ) -> CassError;
1457}
1458extern "C" {
1459 #[doc = " Same as cass_execution_profile_set_blacklist_filtering(), but with lengths"]
1460 #[doc = " for string parameters."]
1461 #[doc = ""]
1462 #[doc = " @public @memberof CassExecProfile"]
1463 #[doc = ""]
1464 #[doc = " @param[in] profile"]
1465 #[doc = " @param[in] hosts"]
1466 #[doc = " @param[in] hosts_length"]
1467 #[doc = " @return same as cass_execution_profile_set_blacklist_filtering_hosts()"]
1468 #[doc = ""]
1469 #[doc = " @see cass_execution_profile_set_blacklist_filtering()"]
1470 #[doc = " @see cass_cluster_set_blacklist_filtering()"]
1471 pub fn cass_execution_profile_set_blacklist_filtering_n(
1472 profile: *mut CassExecProfile,
1473 hosts: *const ::std::os::raw::c_char,
1474 hosts_length: usize,
1475 ) -> CassError;
1476}
1477extern "C" {
1478 #[doc = " Same as cass_execution_profile_set_whitelist_filtering(), but whitelist all"]
1479 #[doc = " hosts of a dc."]
1480 #[doc = ""]
1481 #[doc = " Examples: \"dc1\", \"dc1,dc2\""]
1482 #[doc = ""]
1483 #[doc = " @public @memberof CassExecProfile"]
1484 #[doc = ""]
1485 #[doc = " @param[in] profile"]
1486 #[doc = " @param[in] dcs A comma delimited list of dcs. An empty string will clear the"]
1487 #[doc = " whitelist dcs. The string is copied into the cluster configuration; the"]
1488 #[doc = " memory pointed to by this parameter can be freed after this call."]
1489 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1490 #[doc = ""]
1491 #[doc = " @see cass_cluster_set_whitelist_dc_filtering()"]
1492 pub fn cass_execution_profile_set_whitelist_dc_filtering(
1493 profile: *mut CassExecProfile,
1494 dcs: *const ::std::os::raw::c_char,
1495 ) -> CassError;
1496}
1497extern "C" {
1498 #[doc = " Same as cass_execution_profile_set_whitelist_dc_filtering(), but with lengths"]
1499 #[doc = " for string parameters."]
1500 #[doc = ""]
1501 #[doc = " @public @memberof CassExecProfile"]
1502 #[doc = ""]
1503 #[doc = " @param[in] profile"]
1504 #[doc = " @param[in] dcs"]
1505 #[doc = " @param[in] dcs_length"]
1506 #[doc = " @return same as cass_execution_profile_set_whitelist_dc_filtering()"]
1507 #[doc = ""]
1508 #[doc = " @see cass_execution_profile_set_whitelist_dc_filtering()"]
1509 #[doc = " @see cass_cluster_set_whitelist_dc_filtering()"]
1510 pub fn cass_execution_profile_set_whitelist_dc_filtering_n(
1511 profile: *mut CassExecProfile,
1512 dcs: *const ::std::os::raw::c_char,
1513 dcs_length: usize,
1514 ) -> CassError;
1515}
1516extern "C" {
1517 #[doc = " Same as cass_execution_profile_set_blacklist_filtering(), but blacklist all"]
1518 #[doc = " hosts of a dc."]
1519 #[doc = ""]
1520 #[doc = " Examples: \"dc1\", \"dc1,dc2\""]
1521 #[doc = ""]
1522 #[doc = " @public @memberof CassExecProfile"]
1523 #[doc = ""]
1524 #[doc = " @param[in] profile"]
1525 #[doc = " @param[in] dcs A comma delimited list of dcs. An empty string will clear the"]
1526 #[doc = " blacklist dcs. The string is copied into the cluster configuration; the"]
1527 #[doc = " memory pointed to by this parameter can be freed after this call."]
1528 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1529 #[doc = ""]
1530 #[doc = " @see cass_execution_profile_set_blacklist_filtering()"]
1531 #[doc = " @see cass_cluster_set_blacklist_dc_filtering()"]
1532 pub fn cass_execution_profile_set_blacklist_dc_filtering(
1533 profile: *mut CassExecProfile,
1534 dcs: *const ::std::os::raw::c_char,
1535 ) -> CassError;
1536}
1537extern "C" {
1538 #[doc = " Same as cass_execution_profile_set_blacklist_dc_filtering(), but with lengths"]
1539 #[doc = " for string parameters."]
1540 #[doc = ""]
1541 #[doc = " @public @memberof CassExecProfile"]
1542 #[doc = ""]
1543 #[doc = " @param[in] profile"]
1544 #[doc = " @param[in] dcs"]
1545 #[doc = " @param[in] dcs_length"]
1546 #[doc = " @return same as cass_execution_profile_set_blacklist_dc_filtering()"]
1547 #[doc = ""]
1548 #[doc = " @see cass_execution_profile_set_blacklist_dc_filtering()"]
1549 #[doc = " @see cass_cluster_set_blacklist_dc_filtering()"]
1550 pub fn cass_execution_profile_set_blacklist_dc_filtering_n(
1551 profile: *mut CassExecProfile,
1552 dcs: *const ::std::os::raw::c_char,
1553 dcs_length: usize,
1554 ) -> CassError;
1555}
1556extern "C" {
1557 #[doc = " Sets the execution profile's retry policy."]
1558 #[doc = ""]
1559 #[doc = " <b>Note:</b> Profile-based retry policy is disabled by default; cluster retry"]
1560 #[doc = " policy is used when profile does not contain a policy unless the retry policy"]
1561 #[doc = " was explicitly set on the batch/statement request."]
1562 #[doc = ""]
1563 #[doc = " @public @memberof CassExecProfile"]
1564 #[doc = ""]
1565 #[doc = " @param[in] profile"]
1566 #[doc = " @param[in] retry_policy NULL will clear retry policy from execution profile"]
1567 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1568 #[doc = ""]
1569 #[doc = " @see cass_cluster_set_retry_policy()"]
1570 pub fn cass_execution_profile_set_retry_policy(
1571 profile: *mut CassExecProfile,
1572 retry_policy: *mut CassRetryPolicy,
1573 ) -> CassError;
1574}
1575extern "C" {
1576 #[doc = " Enable constant speculative executions with the supplied settings for the"]
1577 #[doc = " execution profile."]
1578 #[doc = ""]
1579 #[doc = " <b>Note:</b> Profile-based speculative execution policy is disabled by"]
1580 #[doc = " default; cluster speculative execution policy is used when profile does not"]
1581 #[doc = " contain a policy."]
1582 #[doc = ""]
1583 #[doc = " @public @memberof CassExecProfile"]
1584 #[doc = ""]
1585 #[doc = " @param[in] profile"]
1586 #[doc = " @param[in] constant_delay_ms"]
1587 #[doc = " @param[in] max_speculative_executions"]
1588 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
1589 #[doc = ""]
1590 #[doc = " @see cass_cluster_set_constant_speculative_execution_policy()"]
1591 pub fn cass_execution_profile_set_constant_speculative_execution_policy(
1592 profile: *mut CassExecProfile,
1593 constant_delay_ms: cass_int64_t,
1594 max_speculative_executions: ::std::os::raw::c_int,
1595 ) -> CassError;
1596}
1597extern "C" {
1598 #[doc = " Disable speculative executions for the execution profile."]
1599 #[doc = ""]
1600 #[doc = " <b>Note:</b> Profile-based speculative execution policy is disabled by"]
1601 #[doc = " default; cluster speculative execution policy is used when profile does not"]
1602 #[doc = " contain a policy."]
1603 #[doc = ""]
1604 #[doc = " @public @memberof CassExecProfile"]
1605 #[doc = ""]
1606 #[doc = " @param[in] profile"]
1607 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
1608 #[doc = ""]
1609 #[doc = " @see cass_cluster_set_no_speculative_execution_policy()"]
1610 pub fn cass_execution_profile_set_no_speculative_execution_policy(
1611 profile: *mut CassExecProfile,
1612 ) -> CassError;
1613}
1614extern "C" {
1615 #[doc = " Creates a new cluster."]
1616 #[doc = ""]
1617 #[doc = " @public @memberof CassCluster"]
1618 #[doc = ""]
1619 #[doc = " @return Returns a cluster that must be freed."]
1620 #[doc = ""]
1621 #[doc = " @see cass_cluster_free()"]
1622 pub fn cass_cluster_new() -> *mut CassCluster;
1623}
1624extern "C" {
1625 #[doc = " Frees a cluster instance."]
1626 #[doc = ""]
1627 #[doc = " @public @memberof CassCluster"]
1628 #[doc = ""]
1629 #[doc = " @param[in] cluster"]
1630 pub fn cass_cluster_free(cluster: *mut CassCluster);
1631}
1632extern "C" {
1633 #[doc = " Sets/Appends contact points. This *MUST* be set. The first call sets"]
1634 #[doc = " the contact points and any subsequent calls appends additional contact"]
1635 #[doc = " points. Passing an empty string will clear the contact points. White space"]
1636 #[doc = " is striped from the contact points."]
1637 #[doc = ""]
1638 #[doc = " Examples: \"127.0.0.1\" \"127.0.0.1,127.0.0.2\", \"server1.domain.com\""]
1639 #[doc = ""]
1640 #[doc = " @public @memberof CassCluster"]
1641 #[doc = ""]
1642 #[doc = " @param[in] cluster"]
1643 #[doc = " @param[in] contact_points A comma delimited list of addresses or"]
1644 #[doc = " names. An empty string will clear the contact points."]
1645 #[doc = " The string is copied into the cluster configuration; the memory pointed"]
1646 #[doc = " to by this parameter can be freed after this call."]
1647 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1648 pub fn cass_cluster_set_contact_points(
1649 cluster: *mut CassCluster,
1650 contact_points: *const ::std::os::raw::c_char,
1651 ) -> CassError;
1652}
1653extern "C" {
1654 #[doc = " Same as cass_cluster_set_contact_points(), but with lengths for string"]
1655 #[doc = " parameters."]
1656 #[doc = ""]
1657 #[doc = " @public @memberof CassCluster"]
1658 #[doc = ""]
1659 #[doc = " @param[in] cluster"]
1660 #[doc = " @param[in] contact_points"]
1661 #[doc = " @param[in] contact_points_length"]
1662 #[doc = " @return same as cass_cluster_set_contact_points()"]
1663 #[doc = ""]
1664 #[doc = " @see cass_cluster_set_contact_points()"]
1665 pub fn cass_cluster_set_contact_points_n(
1666 cluster: *mut CassCluster,
1667 contact_points: *const ::std::os::raw::c_char,
1668 contact_points_length: usize,
1669 ) -> CassError;
1670}
1671extern "C" {
1672 #[doc = " Sets the port."]
1673 #[doc = ""]
1674 #[doc = " <b>Default:</b> 9042"]
1675 #[doc = ""]
1676 #[doc = " @public @memberof CassCluster"]
1677 #[doc = ""]
1678 #[doc = " @param[in] cluster"]
1679 #[doc = " @param[in] port"]
1680 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1681 pub fn cass_cluster_set_port(
1682 cluster: *mut CassCluster,
1683 port: ::std::os::raw::c_int,
1684 ) -> CassError;
1685}
1686extern "C" {
1687 #[doc = " Sets the local address to bind when connecting to the cluster,"]
1688 #[doc = " if desired."]
1689 #[doc = ""]
1690 #[doc = " @public @memberof CassCluster"]
1691 #[doc = ""]
1692 #[doc = " @param[in] cluster"]
1693 #[doc = " @param[in] name IP address to bind, or empty string for no binding."]
1694 #[doc = " Only numeric addresses are supported; no resolution is done."]
1695 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1696 pub fn cass_cluster_set_local_address(
1697 cluster: *mut CassCluster,
1698 name: *const ::std::os::raw::c_char,
1699 ) -> CassError;
1700}
1701extern "C" {
1702 #[doc = " Same as cass_cluster_set_local_address(), but with lengths for string"]
1703 #[doc = " parameters."]
1704 #[doc = ""]
1705 #[doc = " @public @memberof CassCluster"]
1706 #[doc = ""]
1707 #[doc = " @param[in] cluster"]
1708 #[doc = " @param[in] name"]
1709 #[doc = " @param[in] name_length"]
1710 #[doc = " @return same as cass_cluster_set_local_address()"]
1711 #[doc = ""]
1712 #[doc = " @see cass_cluster_set_local_address()"]
1713 pub fn cass_cluster_set_local_address_n(
1714 cluster: *mut CassCluster,
1715 name: *const ::std::os::raw::c_char,
1716 name_length: usize,
1717 ) -> CassError;
1718}
1719extern "C" {
1720 #[doc = " Sets the SSL context and enables SSL."]
1721 #[doc = ""]
1722 #[doc = " @public @memberof CassCluster"]
1723 #[doc = ""]
1724 #[doc = " @param[in] cluster"]
1725 #[doc = " @param[in] ssl"]
1726 #[doc = ""]
1727 #[doc = " @see cass_ssl_new()"]
1728 pub fn cass_cluster_set_ssl(cluster: *mut CassCluster, ssl: *mut CassSsl);
1729}
1730extern "C" {
1731 #[doc = " Sets custom authenticator"]
1732 #[doc = ""]
1733 #[doc = " @public @memberof CassCluster"]
1734 #[doc = ""]
1735 #[doc = " @param[in] cluster"]
1736 #[doc = " @param[in] exchange_callbacks"]
1737 #[doc = " @param[in] cleanup_callback"]
1738 #[doc = " @param[in] data"]
1739 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1740 pub fn cass_cluster_set_authenticator_callbacks(
1741 cluster: *mut CassCluster,
1742 exchange_callbacks: *const CassAuthenticatorCallbacks,
1743 cleanup_callback: CassAuthenticatorDataCleanupCallback,
1744 data: *mut ::std::os::raw::c_void,
1745 ) -> CassError;
1746}
1747extern "C" {
1748 #[doc = " Sets the protocol version. The driver will automatically downgrade to the lowest"]
1749 #[doc = " supported protocol version."]
1750 #[doc = ""]
1751 #[doc = " <b>Default:</b> CASS_PROTOCOL_VERSION_V4 or CASS_PROTOCOL_VERSION_DSEV1 when"]
1752 #[doc = " using the DSE driver with DataStax Enterprise."]
1753 #[doc = ""]
1754 #[doc = " @public @memberof CassCluster"]
1755 #[doc = ""]
1756 #[doc = " @param[in] cluster"]
1757 #[doc = " @param[in] protocol_version"]
1758 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1759 #[doc = ""]
1760 #[doc = " @see cass_cluster_set_use_beta_protocol_version()"]
1761 pub fn cass_cluster_set_protocol_version(
1762 cluster: *mut CassCluster,
1763 protocol_version: ::std::os::raw::c_int,
1764 ) -> CassError;
1765}
1766extern "C" {
1767 #[doc = " Use the newest beta protocol version. This currently enables the use of"]
1768 #[doc = " protocol version v5 (CASS_PROTOCOL_VERSION_V5) or DSEv2 (CASS_PROTOCOL_VERSION_DSEV2)"]
1769 #[doc = " when using the DSE driver with DataStax Enterprise."]
1770 #[doc = ""]
1771 #[doc = " <b>Default:</b> cass_false"]
1772 #[doc = ""]
1773 #[doc = " @public @memberof CassCluster"]
1774 #[doc = ""]
1775 #[doc = " @param[in] cluster"]
1776 #[doc = " @param[in] enable if false the highest non-beta protocol version will be used"]
1777 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1778 pub fn cass_cluster_set_use_beta_protocol_version(
1779 cluster: *mut CassCluster,
1780 enable: cass_bool_t,
1781 ) -> CassError;
1782}
1783extern "C" {
1784 #[doc = " Sets default consistency level of statement."]
1785 #[doc = ""]
1786 #[doc = " <b>Default:</b> CASS_CONSISTENCY_LOCAL_ONE"]
1787 #[doc = ""]
1788 #[doc = " @public @memberof CassCluster"]
1789 #[doc = ""]
1790 #[doc = " @param[in] cluster"]
1791 #[doc = " @param[in] consistency"]
1792 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1793 pub fn cass_cluster_set_consistency(
1794 cluster: *mut CassCluster,
1795 consistency: CassConsistency,
1796 ) -> CassError;
1797}
1798extern "C" {
1799 #[doc = " Sets default serial consistency level of statement."]
1800 #[doc = ""]
1801 #[doc = " <b>Default:</b> CASS_CONSISTENCY_ANY"]
1802 #[doc = ""]
1803 #[doc = " @public @memberof CassCluster"]
1804 #[doc = ""]
1805 #[doc = " @param[in] cluster"]
1806 #[doc = " @param[in] consistency"]
1807 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1808 pub fn cass_cluster_set_serial_consistency(
1809 cluster: *mut CassCluster,
1810 consistency: CassConsistency,
1811 ) -> CassError;
1812}
1813extern "C" {
1814 #[doc = " Sets the number of IO threads. This is the number of threads"]
1815 #[doc = " that will handle query requests."]
1816 #[doc = ""]
1817 #[doc = " <b>Default:</b> 1"]
1818 #[doc = ""]
1819 #[doc = " @public @memberof CassCluster"]
1820 #[doc = ""]
1821 #[doc = " @param[in] cluster"]
1822 #[doc = " @param[in] num_threads"]
1823 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1824 pub fn cass_cluster_set_num_threads_io(
1825 cluster: *mut CassCluster,
1826 num_threads: ::std::os::raw::c_uint,
1827 ) -> CassError;
1828}
1829extern "C" {
1830 #[doc = " Sets the size of the fixed size queue that stores"]
1831 #[doc = " pending requests."]
1832 #[doc = ""]
1833 #[doc = " <b>Default:</b> 8192"]
1834 #[doc = ""]
1835 #[doc = " @public @memberof CassCluster"]
1836 #[doc = ""]
1837 #[doc = " @param[in] cluster"]
1838 #[doc = " @param[in] queue_size"]
1839 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1840 pub fn cass_cluster_set_queue_size_io(
1841 cluster: *mut CassCluster,
1842 queue_size: ::std::os::raw::c_uint,
1843 ) -> CassError;
1844}
1845extern "C" {
1846 pub fn cass_cluster_set_queue_size_event(
1847 cluster: *mut CassCluster,
1848 queue_size: ::std::os::raw::c_uint,
1849 ) -> CassError;
1850}
1851extern "C" {
1852 #[doc = " Sets the number of connections made to each server in each"]
1853 #[doc = " IO thread."]
1854 #[doc = ""]
1855 #[doc = " <b>Default:</b> 1"]
1856 #[doc = ""]
1857 #[doc = " @public @memberof CassCluster"]
1858 #[doc = ""]
1859 #[doc = " @param[in] cluster"]
1860 #[doc = " @param[in] num_connections"]
1861 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1862 pub fn cass_cluster_set_core_connections_per_host(
1863 cluster: *mut CassCluster,
1864 num_connections: ::std::os::raw::c_uint,
1865 ) -> CassError;
1866}
1867extern "C" {
1868 pub fn cass_cluster_set_max_connections_per_host(
1869 cluster: *mut CassCluster,
1870 num_connections: ::std::os::raw::c_uint,
1871 ) -> CassError;
1872}
1873extern "C" {
1874 pub fn cass_cluster_set_reconnect_wait_time(
1875 cluster: *mut CassCluster,
1876 wait_time: ::std::os::raw::c_uint,
1877 );
1878}
1879extern "C" {
1880 #[doc = " Configures the cluster to use a reconnection policy that waits a constant"]
1881 #[doc = " time between each reconnection attempt."]
1882 #[doc = ""]
1883 #[doc = " @public @memberof CassCluster"]
1884 #[doc = ""]
1885 #[doc = " @param[in] cluster"]
1886 #[doc = " @param[in] delay_ms Time in milliseconds to delay attempting a reconnection;"]
1887 #[doc = " 0 to perform a reconnection immediately."]
1888 pub fn cass_cluster_set_constant_reconnect(cluster: *mut CassCluster, delay_ms: cass_uint64_t);
1889}
1890extern "C" {
1891 #[doc = " Configures the cluster to use a reconnection policy that waits exponentially"]
1892 #[doc = " longer between each reconnection attempt; however will maintain a constant"]
1893 #[doc = " delay once the maximum delay is reached."]
1894 #[doc = ""]
1895 #[doc = " <b>Default:</b>"]
1896 #[doc = " <ul>"]
1897 #[doc = " <li>2000 milliseconds base delay</li>"]
1898 #[doc = " <li>60000 milliseconds max delay</li>"]
1899 #[doc = " </ul>"]
1900 #[doc = ""]
1901 #[doc = " <p>"]
1902 #[doc = " <b>Note:</b> A random amount of jitter (+/- 15%) will be added to the pure"]
1903 #[doc = " exponential delay value. This helps to prevent situations where multiple"]
1904 #[doc = " connections are in the reconnection process at exactly the same time. The"]
1905 #[doc = " jitter will never cause the delay to be less than the base delay, or more"]
1906 #[doc = " than the max delay."]
1907 #[doc = " </p>"]
1908 #[doc = ""]
1909 #[doc = " @public @memberof CassCluster"]
1910 #[doc = ""]
1911 #[doc = " @param[in] cluster"]
1912 #[doc = " @param[in] base_delay_ms The base delay (in milliseconds) to use for"]
1913 #[doc = " scheduling reconnection attempts."]
1914 #[doc = " @param[in] max_delay_ms The maximum delay to wait between two reconnection"]
1915 #[doc = " attempts."]
1916 #[doc = " @return CASS_OK if successful, otherwise error occurred."]
1917 pub fn cass_cluster_set_exponential_reconnect(
1918 cluster: *mut CassCluster,
1919 base_delay_ms: cass_uint64_t,
1920 max_delay_ms: cass_uint64_t,
1921 ) -> CassError;
1922}
1923extern "C" {
1924 #[doc = " Sets the amount of time, in microseconds, to wait for new requests to"]
1925 #[doc = " coalesce into a single system call. This should be set to a value around"]
1926 #[doc = " the latency SLA of your application's requests while also considering the"]
1927 #[doc = " request's roundtrip time. Larger values should be used for throughput"]
1928 #[doc = " bound workloads and lower values should be used for latency bound"]
1929 #[doc = " workloads."]
1930 #[doc = ""]
1931 #[doc = " <b>Default:</b> 200 us"]
1932 #[doc = ""]
1933 #[doc = " @public @memberof CassCluster"]
1934 #[doc = ""]
1935 #[doc = " @param[in] cluster"]
1936 #[doc = " @param[in] delay_us"]
1937 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1938 pub fn cass_cluster_set_coalesce_delay(
1939 cluster: *mut CassCluster,
1940 delay_us: cass_int64_t,
1941 ) -> CassError;
1942}
1943extern "C" {
1944 #[doc = " Sets the ratio of time spent processing new requests versus handling the I/O"]
1945 #[doc = " and processing of outstanding requests. The range of this setting is 1 to 100,"]
1946 #[doc = " where larger values allocate more time to processing new requests and smaller"]
1947 #[doc = " values allocate more time to processing outstanding requests."]
1948 #[doc = ""]
1949 #[doc = " <b>Default:</b> 50"]
1950 #[doc = ""]
1951 #[doc = " @public @memberof CassCluster"]
1952 #[doc = ""]
1953 #[doc = " @param[in] cluster"]
1954 #[doc = " @param[in] ratio"]
1955 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
1956 pub fn cass_cluster_set_new_request_ratio(
1957 cluster: *mut CassCluster,
1958 ratio: cass_int32_t,
1959 ) -> CassError;
1960}
1961extern "C" {
1962 pub fn cass_cluster_set_max_concurrent_creation(
1963 cluster: *mut CassCluster,
1964 num_connections: ::std::os::raw::c_uint,
1965 ) -> CassError;
1966}
1967extern "C" {
1968 pub fn cass_cluster_set_max_concurrent_requests_threshold(
1969 cluster: *mut CassCluster,
1970 num_requests: ::std::os::raw::c_uint,
1971 ) -> CassError;
1972}
1973extern "C" {
1974 pub fn cass_cluster_set_max_requests_per_flush(
1975 cluster: *mut CassCluster,
1976 num_requests: ::std::os::raw::c_uint,
1977 ) -> CassError;
1978}
1979extern "C" {
1980 pub fn cass_cluster_set_write_bytes_high_water_mark(
1981 cluster: *mut CassCluster,
1982 num_bytes: ::std::os::raw::c_uint,
1983 ) -> CassError;
1984}
1985extern "C" {
1986 pub fn cass_cluster_set_write_bytes_low_water_mark(
1987 cluster: *mut CassCluster,
1988 num_bytes: ::std::os::raw::c_uint,
1989 ) -> CassError;
1990}
1991extern "C" {
1992 pub fn cass_cluster_set_pending_requests_high_water_mark(
1993 cluster: *mut CassCluster,
1994 num_requests: ::std::os::raw::c_uint,
1995 ) -> CassError;
1996}
1997extern "C" {
1998 pub fn cass_cluster_set_pending_requests_low_water_mark(
1999 cluster: *mut CassCluster,
2000 num_requests: ::std::os::raw::c_uint,
2001 ) -> CassError;
2002}
2003extern "C" {
2004 #[doc = " Sets the timeout for connecting to a node."]
2005 #[doc = ""]
2006 #[doc = " <b>Default:</b> 5000 milliseconds"]
2007 #[doc = ""]
2008 #[doc = " @public @memberof CassCluster"]
2009 #[doc = ""]
2010 #[doc = " @param[in] cluster"]
2011 #[doc = " @param[in] timeout_ms Connect timeout in milliseconds"]
2012 pub fn cass_cluster_set_connect_timeout(
2013 cluster: *mut CassCluster,
2014 timeout_ms: ::std::os::raw::c_uint,
2015 );
2016}
2017extern "C" {
2018 #[doc = " Sets the timeout for waiting for a response from a node."]
2019 #[doc = ""]
2020 #[doc = " <b>Default:</b> 12000 milliseconds"]
2021 #[doc = ""]
2022 #[doc = " @public @memberof CassCluster"]
2023 #[doc = ""]
2024 #[doc = " @param[in] cluster"]
2025 #[doc = " @param[in] timeout_ms Request timeout in milliseconds. Use 0 for no timeout."]
2026 pub fn cass_cluster_set_request_timeout(
2027 cluster: *mut CassCluster,
2028 timeout_ms: ::std::os::raw::c_uint,
2029 );
2030}
2031extern "C" {
2032 #[doc = " Sets the timeout for waiting for DNS name resolution."]
2033 #[doc = ""]
2034 #[doc = " <b>Default:</b> 2000 milliseconds"]
2035 #[doc = ""]
2036 #[doc = " @public @memberof CassCluster"]
2037 #[doc = ""]
2038 #[doc = " @param[in] cluster"]
2039 #[doc = " @param[in] timeout_ms Request timeout in milliseconds"]
2040 pub fn cass_cluster_set_resolve_timeout(
2041 cluster: *mut CassCluster,
2042 timeout_ms: ::std::os::raw::c_uint,
2043 );
2044}
2045extern "C" {
2046 #[doc = " Sets the maximum time to wait for schema agreement after a schema change"]
2047 #[doc = " is made (e.g. creating, altering, dropping a table/keyspace/view/index etc)."]
2048 #[doc = ""]
2049 #[doc = " <b>Default:</b> 10000 milliseconds"]
2050 #[doc = ""]
2051 #[doc = " @public @memberof CassCluster"]
2052 #[doc = ""]
2053 #[doc = " @param[in] cluster"]
2054 #[doc = " @param[in] wait_time_ms Wait time in milliseconds"]
2055 pub fn cass_cluster_set_max_schema_wait_time(
2056 cluster: *mut CassCluster,
2057 wait_time_ms: ::std::os::raw::c_uint,
2058 );
2059}
2060extern "C" {
2061 #[doc = " Sets the maximum time to wait for tracing data to become available."]
2062 #[doc = ""]
2063 #[doc = " <b>Default:</b> 15 milliseconds"]
2064 #[doc = ""]
2065 #[doc = " @param[in] cluster"]
2066 #[doc = " @param[in] max_wait_time_ms"]
2067 pub fn cass_cluster_set_tracing_max_wait_time(
2068 cluster: *mut CassCluster,
2069 max_wait_time_ms: ::std::os::raw::c_uint,
2070 );
2071}
2072extern "C" {
2073 #[doc = " Sets the amount of time to wait between attempts to check to see if tracing is"]
2074 #[doc = " available."]
2075 #[doc = ""]
2076 #[doc = " <b>Default:</b> 3 milliseconds"]
2077 #[doc = ""]
2078 #[doc = " @param[in] cluster"]
2079 #[doc = " @param[in] retry_wait_time_ms"]
2080 pub fn cass_cluster_set_tracing_retry_wait_time(
2081 cluster: *mut CassCluster,
2082 retry_wait_time_ms: ::std::os::raw::c_uint,
2083 );
2084}
2085extern "C" {
2086 #[doc = " Sets the consistency level to use for checking to see if tracing data is"]
2087 #[doc = " available."]
2088 #[doc = ""]
2089 #[doc = " <b>Default:</b> CASS_CONSISTENCY_ONE"]
2090 #[doc = ""]
2091 #[doc = " @param[in] cluster"]
2092 #[doc = " @param[in] consistency"]
2093 pub fn cass_cluster_set_tracing_consistency(
2094 cluster: *mut CassCluster,
2095 consistency: CassConsistency,
2096 );
2097}
2098extern "C" {
2099 #[doc = " Sets credentials for plain text authentication."]
2100 #[doc = ""]
2101 #[doc = " @public @memberof CassCluster"]
2102 #[doc = ""]
2103 #[doc = " @param[in] cluster"]
2104 #[doc = " @param[in] username"]
2105 #[doc = " @param[in] password"]
2106 pub fn cass_cluster_set_credentials(
2107 cluster: *mut CassCluster,
2108 username: *const ::std::os::raw::c_char,
2109 password: *const ::std::os::raw::c_char,
2110 );
2111}
2112extern "C" {
2113 #[doc = " Same as cass_cluster_set_credentials(), but with lengths for string"]
2114 #[doc = " parameters."]
2115 #[doc = ""]
2116 #[doc = " @public @memberof CassCluster"]
2117 #[doc = ""]
2118 #[doc = " @param[in] cluster"]
2119 #[doc = " @param[in] username"]
2120 #[doc = " @param[in] username_length"]
2121 #[doc = " @param[in] password"]
2122 #[doc = " @param[in] password_length"]
2123 #[doc = " @return same as cass_cluster_set_credentials()"]
2124 #[doc = ""]
2125 #[doc = " @see cass_cluster_set_credentials();"]
2126 pub fn cass_cluster_set_credentials_n(
2127 cluster: *mut CassCluster,
2128 username: *const ::std::os::raw::c_char,
2129 username_length: usize,
2130 password: *const ::std::os::raw::c_char,
2131 password_length: usize,
2132 );
2133}
2134extern "C" {
2135 #[doc = " Configures the cluster to use round-robin load balancing."]
2136 #[doc = ""]
2137 #[doc = " The driver discovers all nodes in a cluster and cycles through"]
2138 #[doc = " them per request. All are considered 'local'."]
2139 #[doc = ""]
2140 #[doc = " @public @memberof CassCluster"]
2141 #[doc = ""]
2142 #[doc = " @param[in] cluster"]
2143 pub fn cass_cluster_set_load_balance_round_robin(cluster: *mut CassCluster);
2144}
2145extern "C" {
2146 #[doc = " Configures the cluster to use DC-aware load balancing."]
2147 #[doc = " For each query, all live nodes in a primary 'local' DC are tried first,"]
2148 #[doc = " followed by any node from other DCs."]
2149 #[doc = ""]
2150 #[doc = " <b>Note:</b> This is the default, and does not need to be called unless"]
2151 #[doc = " switching an existing from another policy or changing settings."]
2152 #[doc = " Without further configuration, a default local_dc is chosen from the"]
2153 #[doc = " first connected contact point, and no remote hosts are considered in"]
2154 #[doc = " query plans. If relying on this mechanism, be sure to use only contact"]
2155 #[doc = " points from the local DC."]
2156 #[doc = ""]
2157 #[doc = " @deprecated The remote DC settings for DC-aware are not suitable for most"]
2158 #[doc = " scenarios that require DC failover. There is also unhandled gap between"]
2159 #[doc = " replication factor number of nodes failing and the full cluster failing. Only"]
2160 #[doc = " the remote DC settings are being deprecated."]
2161 #[doc = ""]
2162 #[doc = " @public @memberof CassCluster"]
2163 #[doc = ""]
2164 #[doc = " @param[in] cluster"]
2165 #[doc = " @param[in] local_dc The primary data center to try first"]
2166 #[doc = " @param[in] used_hosts_per_remote_dc The number of hosts used in each remote"]
2167 #[doc = " DC if no hosts are available in the local dc (<b>deprecated</b>)"]
2168 #[doc = " @param[in] allow_remote_dcs_for_local_cl Allows remote hosts to be used if no"]
2169 #[doc = " local dc hosts are available and the consistency level is LOCAL_ONE or"]
2170 #[doc = " LOCAL_QUORUM (<b>deprecated</b>)"]
2171 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2172 pub fn cass_cluster_set_load_balance_dc_aware(
2173 cluster: *mut CassCluster,
2174 local_dc: *const ::std::os::raw::c_char,
2175 used_hosts_per_remote_dc: ::std::os::raw::c_uint,
2176 allow_remote_dcs_for_local_cl: cass_bool_t,
2177 ) -> CassError;
2178}
2179extern "C" {
2180 #[doc = " Same as cass_cluster_set_load_balance_dc_aware(), but with lengths for string"]
2181 #[doc = " parameters."]
2182 #[doc = ""]
2183 #[doc = " @deprecated The remote DC settings for DC-aware are not suitable for most"]
2184 #[doc = " scenarios that require DC failover. There is also unhandled gap between"]
2185 #[doc = " replication factor number of nodes failing and the full cluster failing. Only"]
2186 #[doc = " the remote DC settings are being deprecated."]
2187 #[doc = ""]
2188 #[doc = " @public @memberof CassCluster"]
2189 #[doc = ""]
2190 #[doc = " @param[in] cluster"]
2191 #[doc = " @param[in] local_dc"]
2192 #[doc = " @param[in] local_dc_length"]
2193 #[doc = " @param[in] used_hosts_per_remote_dc (<b>deprecated</b>)"]
2194 #[doc = " @param[in] allow_remote_dcs_for_local_cl (<b>deprecated</b>)"]
2195 #[doc = " @return same as cass_cluster_set_load_balance_dc_aware()"]
2196 #[doc = ""]
2197 #[doc = " @see cass_cluster_set_load_balance_dc_aware()"]
2198 pub fn cass_cluster_set_load_balance_dc_aware_n(
2199 cluster: *mut CassCluster,
2200 local_dc: *const ::std::os::raw::c_char,
2201 local_dc_length: usize,
2202 used_hosts_per_remote_dc: ::std::os::raw::c_uint,
2203 allow_remote_dcs_for_local_cl: cass_bool_t,
2204 ) -> CassError;
2205}
2206extern "C" {
2207 #[doc = " Configures the cluster to use token-aware request routing or not."]
2208 #[doc = ""]
2209 #[doc = " <b>Important:</b> Token-aware routing depends on keyspace metadata."]
2210 #[doc = " For this reason enabling token-aware routing will also enable retrieving"]
2211 #[doc = " and updating keyspace schema metadata."]
2212 #[doc = ""]
2213 #[doc = " <b>Default:</b> cass_true (enabled)."]
2214 #[doc = ""]
2215 #[doc = " This routing policy composes the base routing policy, routing"]
2216 #[doc = " requests first to replicas on nodes considered 'local' by"]
2217 #[doc = " the base load balancing policy."]
2218 #[doc = ""]
2219 #[doc = " @public @memberof CassCluster"]
2220 #[doc = ""]
2221 #[doc = " @param[in] cluster"]
2222 #[doc = " @param[in] enabled"]
2223 pub fn cass_cluster_set_token_aware_routing(cluster: *mut CassCluster, enabled: cass_bool_t);
2224}
2225extern "C" {
2226 #[doc = " Configures token-aware routing to randomly shuffle replicas. This can reduce"]
2227 #[doc = " the effectiveness of server-side caching, but it can better distribute load over"]
2228 #[doc = " replicas for a given partition key."]
2229 #[doc = ""]
2230 #[doc = " <b>Note:</b> Token-aware routing must be enabled for the setting to"]
2231 #[doc = " be applicable."]
2232 #[doc = ""]
2233 #[doc = " <b>Default:</b> cass_true (enabled)."]
2234 #[doc = ""]
2235 #[doc = " @public @memberof CassCluster"]
2236 #[doc = ""]
2237 #[doc = " @param[in] cluster"]
2238 #[doc = " @param[in] enabled"]
2239 pub fn cass_cluster_set_token_aware_routing_shuffle_replicas(
2240 cluster: *mut CassCluster,
2241 enabled: cass_bool_t,
2242 );
2243}
2244extern "C" {
2245 #[doc = " Configures the cluster to use latency-aware request routing or not."]
2246 #[doc = ""]
2247 #[doc = " <b>Default:</b> cass_false (disabled)."]
2248 #[doc = ""]
2249 #[doc = " This routing policy is a top-level routing policy. It uses the"]
2250 #[doc = " base routing policy to determine locality (dc-aware) and/or"]
2251 #[doc = " placement (token-aware) before considering the latency."]
2252 #[doc = ""]
2253 #[doc = " @public @memberof CassCluster"]
2254 #[doc = ""]
2255 #[doc = " @param[in] cluster"]
2256 #[doc = " @param[in] enabled"]
2257 pub fn cass_cluster_set_latency_aware_routing(cluster: *mut CassCluster, enabled: cass_bool_t);
2258}
2259extern "C" {
2260 #[doc = " Configures the settings for latency-aware request routing."]
2261 #[doc = ""]
2262 #[doc = " <b>Defaults:</b>"]
2263 #[doc = ""]
2264 #[doc = " <ul>"]
2265 #[doc = " <li>exclusion_threshold: 2.0</li>"]
2266 #[doc = " <li>scale_ms: 100 milliseconds</li>"]
2267 #[doc = " <li>retry_period_ms: 10,000 milliseconds (10 seconds)</li>"]
2268 #[doc = " <li>update_rate_ms: 100 milliseconds</li>"]
2269 #[doc = " <li>min_measured: 50</li>"]
2270 #[doc = " </ul>"]
2271 #[doc = ""]
2272 #[doc = " @public @memberof CassCluster"]
2273 #[doc = ""]
2274 #[doc = " @param[in] cluster"]
2275 #[doc = " @param[in] exclusion_threshold Controls how much worse the latency must be compared to the"]
2276 #[doc = " average latency of the best performing node before it penalized."]
2277 #[doc = " @param[in] scale_ms Controls the weight given to older latencies when calculating the average"]
2278 #[doc = " latency of a node. A bigger scale will give more weight to older latency measurements."]
2279 #[doc = " @param[in] retry_period_ms The amount of time a node is penalized by the policy before"]
2280 #[doc = " being given a second chance when the current average latency exceeds the calculated"]
2281 #[doc = " threshold (exclusion_threshold * best_average_latency)."]
2282 #[doc = " @param[in] update_rate_ms The rate at which the best average latency is recomputed."]
2283 #[doc = " @param[in] min_measured The minimum number of measurements per-host required to"]
2284 #[doc = " be considered by the policy."]
2285 pub fn cass_cluster_set_latency_aware_routing_settings(
2286 cluster: *mut CassCluster,
2287 exclusion_threshold: cass_double_t,
2288 scale_ms: cass_uint64_t,
2289 retry_period_ms: cass_uint64_t,
2290 update_rate_ms: cass_uint64_t,
2291 min_measured: cass_uint64_t,
2292 );
2293}
2294extern "C" {
2295 #[doc = " Sets/Appends whitelist hosts. The first call sets the whitelist hosts and"]
2296 #[doc = " any subsequent calls appends additional hosts. Passing an empty string will"]
2297 #[doc = " clear and disable the whitelist. White space is striped from the hosts."]
2298 #[doc = ""]
2299 #[doc = " This policy filters requests to all other policies, only allowing requests"]
2300 #[doc = " to the hosts contained in the whitelist. Any host not in the whitelist will"]
2301 #[doc = " be ignored and a connection will not be established. This policy is useful"]
2302 #[doc = " for ensuring that the driver will only connect to a predefined set of hosts."]
2303 #[doc = ""]
2304 #[doc = " Examples: \"127.0.0.1\" \"127.0.0.1,127.0.0.2\""]
2305 #[doc = ""]
2306 #[doc = " @public @memberof CassCluster"]
2307 #[doc = ""]
2308 #[doc = " @param[in] cluster"]
2309 #[doc = " @param[in] hosts A comma delimited list of addresses. An empty string will"]
2310 #[doc = " clear the whitelist hosts. The string is copied into the cluster"]
2311 #[doc = " configuration; the memory pointed to by this parameter can be freed after"]
2312 #[doc = " this call."]
2313 pub fn cass_cluster_set_whitelist_filtering(
2314 cluster: *mut CassCluster,
2315 hosts: *const ::std::os::raw::c_char,
2316 );
2317}
2318extern "C" {
2319 #[doc = " Same as cass_cluster_set_whitelist_filtering(), but with lengths for"]
2320 #[doc = " string parameters."]
2321 #[doc = ""]
2322 #[doc = " @public @memberof CassCluster"]
2323 #[doc = ""]
2324 #[doc = " @param[in] cluster"]
2325 #[doc = " @param[in] hosts"]
2326 #[doc = " @param[in] hosts_length"]
2327 #[doc = " @return same as cass_cluster_set_whitelist_filtering()"]
2328 #[doc = ""]
2329 #[doc = " @see cass_cluster_set_whitelist_filtering()"]
2330 pub fn cass_cluster_set_whitelist_filtering_n(
2331 cluster: *mut CassCluster,
2332 hosts: *const ::std::os::raw::c_char,
2333 hosts_length: usize,
2334 );
2335}
2336extern "C" {
2337 #[doc = " Sets/Appends blacklist hosts. The first call sets the blacklist hosts and"]
2338 #[doc = " any subsequent calls appends additional hosts. Passing an empty string will"]
2339 #[doc = " clear and disable the blacklist. White space is striped from the hosts."]
2340 #[doc = ""]
2341 #[doc = " This policy filters requests to all other policies, only allowing requests"]
2342 #[doc = " to the hosts not contained in the blacklist. Any host in the blacklist will"]
2343 #[doc = " be ignored and a connection will not be established. This policy is useful"]
2344 #[doc = " for ensuring that the driver will not connect to a predefined set of hosts."]
2345 #[doc = ""]
2346 #[doc = " Examples: \"127.0.0.1\" \"127.0.0.1,127.0.0.2\""]
2347 #[doc = ""]
2348 #[doc = " @public @memberof CassCluster"]
2349 #[doc = ""]
2350 #[doc = " @param[in] cluster"]
2351 #[doc = " @param[in] hosts A comma delimited list of addresses. An empty string will"]
2352 #[doc = " clear the blacklist hosts. The string is copied into the cluster"]
2353 #[doc = " configuration; the memory pointed to by this parameter can be freed after"]
2354 #[doc = " this call."]
2355 pub fn cass_cluster_set_blacklist_filtering(
2356 cluster: *mut CassCluster,
2357 hosts: *const ::std::os::raw::c_char,
2358 );
2359}
2360extern "C" {
2361 #[doc = " Same as cass_cluster_set_blacklist_filtering_hosts(), but with lengths for"]
2362 #[doc = " string parameters."]
2363 #[doc = ""]
2364 #[doc = " @public @memberof CassCluster"]
2365 #[doc = ""]
2366 #[doc = " @param[in] cluster"]
2367 #[doc = " @param[in] hosts"]
2368 #[doc = " @param[in] hosts_length"]
2369 #[doc = " @return same as cass_cluster_set_blacklist_filtering()"]
2370 #[doc = ""]
2371 #[doc = " @see cass_cluster_set_blacklist_filtering()"]
2372 pub fn cass_cluster_set_blacklist_filtering_n(
2373 cluster: *mut CassCluster,
2374 hosts: *const ::std::os::raw::c_char,
2375 hosts_length: usize,
2376 );
2377}
2378extern "C" {
2379 #[doc = " Same as cass_cluster_set_whitelist_filtering(), but whitelist all hosts of a dc"]
2380 #[doc = ""]
2381 #[doc = " Examples: \"dc1\", \"dc1,dc2\""]
2382 #[doc = ""]
2383 #[doc = " @public @memberof CassCluster"]
2384 #[doc = ""]
2385 #[doc = " @param[in] cluster"]
2386 #[doc = " @param[in] dcs A comma delimited list of dcs. An empty string will clear the"]
2387 #[doc = " whitelist dcs. The string is copied into the cluster configuration; the"]
2388 #[doc = " memory pointed to by this parameter can be freed after this call."]
2389 pub fn cass_cluster_set_whitelist_dc_filtering(
2390 cluster: *mut CassCluster,
2391 dcs: *const ::std::os::raw::c_char,
2392 );
2393}
2394extern "C" {
2395 #[doc = " Same as cass_cluster_set_whitelist_dc_filtering(), but with lengths for"]
2396 #[doc = " string parameters."]
2397 #[doc = ""]
2398 #[doc = " @public @memberof CassCluster"]
2399 #[doc = ""]
2400 #[doc = " @param[in] cluster"]
2401 #[doc = " @param[in] dcs"]
2402 #[doc = " @param[in] dcs_length"]
2403 #[doc = " @return same as cass_cluster_set_whitelist_dc_filtering()"]
2404 #[doc = ""]
2405 #[doc = " @see cass_cluster_set_whitelist_dc_filtering()"]
2406 pub fn cass_cluster_set_whitelist_dc_filtering_n(
2407 cluster: *mut CassCluster,
2408 dcs: *const ::std::os::raw::c_char,
2409 dcs_length: usize,
2410 );
2411}
2412extern "C" {
2413 #[doc = " Same as cass_cluster_set_blacklist_filtering(), but blacklist all hosts of a dc"]
2414 #[doc = ""]
2415 #[doc = " Examples: \"dc1\", \"dc1,dc2\""]
2416 #[doc = ""]
2417 #[doc = " @public @memberof CassCluster"]
2418 #[doc = ""]
2419 #[doc = " @param[in] cluster"]
2420 #[doc = " @param[in] dcs A comma delimited list of dcs. An empty string will clear the"]
2421 #[doc = " blacklist dcs. The string is copied into the cluster configuration; the"]
2422 #[doc = " memory pointed to by this parameter can be freed after this call."]
2423 pub fn cass_cluster_set_blacklist_dc_filtering(
2424 cluster: *mut CassCluster,
2425 dcs: *const ::std::os::raw::c_char,
2426 );
2427}
2428extern "C" {
2429 #[doc = " Same as cass_cluster_set_blacklist_dc_filtering(), but with lengths for"]
2430 #[doc = " string parameters."]
2431 #[doc = ""]
2432 #[doc = " @public @memberof CassCluster"]
2433 #[doc = ""]
2434 #[doc = " @param[in] cluster"]
2435 #[doc = " @param[in] dcs"]
2436 #[doc = " @param[in] dcs_length"]
2437 #[doc = " @return same as cass_cluster_set_blacklist_dc_filtering()"]
2438 #[doc = ""]
2439 #[doc = " @see cass_cluster_set_blacklist_dc_filtering()"]
2440 pub fn cass_cluster_set_blacklist_dc_filtering_n(
2441 cluster: *mut CassCluster,
2442 dcs: *const ::std::os::raw::c_char,
2443 dcs_length: usize,
2444 );
2445}
2446extern "C" {
2447 #[doc = " Enable/Disable Nagle's algorithm on connections."]
2448 #[doc = ""]
2449 #[doc = " <b>Default:</b> cass_true (disables Nagle's algorithm)."]
2450 #[doc = ""]
2451 #[doc = " @public @memberof CassCluster"]
2452 #[doc = ""]
2453 #[doc = " @param[in] cluster"]
2454 #[doc = " @param[in] enabled"]
2455 pub fn cass_cluster_set_tcp_nodelay(cluster: *mut CassCluster, enabled: cass_bool_t);
2456}
2457extern "C" {
2458 #[doc = " Enable/Disable TCP keep-alive"]
2459 #[doc = ""]
2460 #[doc = " <b>Default:</b> cass_false (disabled)."]
2461 #[doc = ""]
2462 #[doc = " @public @memberof CassCluster"]
2463 #[doc = ""]
2464 #[doc = " @param[in] cluster"]
2465 #[doc = " @param[in] enabled"]
2466 #[doc = " @param[in] delay_secs The initial delay in seconds, ignored when"]
2467 #[doc = " `enabled` is false."]
2468 pub fn cass_cluster_set_tcp_keepalive(
2469 cluster: *mut CassCluster,
2470 enabled: cass_bool_t,
2471 delay_secs: ::std::os::raw::c_uint,
2472 );
2473}
2474extern "C" {
2475 #[doc = " Sets the timestamp generator used to assign timestamps to all requests"]
2476 #[doc = " unless overridden by setting the timestamp on a statement or a batch."]
2477 #[doc = ""]
2478 #[doc = " <b>Default:</b> Monotonically increasing, client-side timestamp generator."]
2479 #[doc = ""]
2480 #[doc = " @cassandra{2.1+}"]
2481 #[doc = ""]
2482 #[doc = " @public @memberof CassCluster"]
2483 #[doc = ""]
2484 #[doc = " @param[in] cluster"]
2485 #[doc = " @param[in] timestamp_gen"]
2486 #[doc = ""]
2487 #[doc = " @see cass_statement_set_timestamp()"]
2488 #[doc = " @see cass_batch_set_timestamp()"]
2489 pub fn cass_cluster_set_timestamp_gen(
2490 cluster: *mut CassCluster,
2491 timestamp_gen: *mut CassTimestampGen,
2492 );
2493}
2494extern "C" {
2495 #[doc = " Sets the amount of time between heartbeat messages and controls the amount"]
2496 #[doc = " of time the connection must be idle before sending heartbeat messages. This"]
2497 #[doc = " is useful for preventing intermediate network devices from dropping"]
2498 #[doc = " connections."]
2499 #[doc = ""]
2500 #[doc = " <b>Default:</b> 30 seconds"]
2501 #[doc = ""]
2502 #[doc = " @public @memberof CassCluster"]
2503 #[doc = ""]
2504 #[doc = " @param[in] cluster"]
2505 #[doc = " @param[in] interval_secs Use 0 to disable heartbeat messages"]
2506 pub fn cass_cluster_set_connection_heartbeat_interval(
2507 cluster: *mut CassCluster,
2508 interval_secs: ::std::os::raw::c_uint,
2509 );
2510}
2511extern "C" {
2512 #[doc = " Sets the amount of time a connection is allowed to be without a successful"]
2513 #[doc = " heartbeat response before being terminated and scheduled for reconnection."]
2514 #[doc = ""]
2515 #[doc = " <b>Default:</b> 60 seconds"]
2516 #[doc = ""]
2517 #[doc = " @public @memberof CassCluster"]
2518 #[doc = ""]
2519 #[doc = " @param[in] cluster"]
2520 #[doc = " @param[in] timeout_secs"]
2521 pub fn cass_cluster_set_connection_idle_timeout(
2522 cluster: *mut CassCluster,
2523 timeout_secs: ::std::os::raw::c_uint,
2524 );
2525}
2526extern "C" {
2527 #[doc = " Sets the retry policy used for all requests unless overridden by setting"]
2528 #[doc = " a retry policy on a statement or a batch."]
2529 #[doc = ""]
2530 #[doc = " <b>Default:</b> The same policy as would be created by the function:"]
2531 #[doc = " cass_retry_policy_default_new(). This policy will retry on a read timeout"]
2532 #[doc = " if there was enough replicas, but no data present, on a write timeout if a"]
2533 #[doc = " logged batch request failed to write the batch log, and on a unavailable"]
2534 #[doc = " error it retries using a new host. In all other cases the default policy"]
2535 #[doc = " will return an error."]
2536 #[doc = ""]
2537 #[doc = " @public @memberof CassCluster"]
2538 #[doc = ""]
2539 #[doc = " @param[in] cluster"]
2540 #[doc = " @param[in] retry_policy"]
2541 #[doc = ""]
2542 #[doc = " @see cass_retry_policy_default_new()"]
2543 #[doc = " @see cass_statement_set_retry_policy()"]
2544 #[doc = " @see cass_batch_set_retry_policy()"]
2545 pub fn cass_cluster_set_retry_policy(
2546 cluster: *mut CassCluster,
2547 retry_policy: *mut CassRetryPolicy,
2548 );
2549}
2550extern "C" {
2551 #[doc = " Enable/Disable retrieving and updating schema metadata. If disabled"]
2552 #[doc = " this is allows the driver to skip over retrieving and updating schema"]
2553 #[doc = " metadata and cass_session_get_schema_meta() will always return an empty object."]
2554 #[doc = " This can be useful for reducing the startup overhead of short-lived sessions."]
2555 #[doc = ""]
2556 #[doc = " <b>Default:</b> cass_true (enabled)."]
2557 #[doc = ""]
2558 #[doc = " @public @memberof CassCluster"]
2559 #[doc = ""]
2560 #[doc = " @param[in] cluster"]
2561 #[doc = " @param[in] enabled"]
2562 #[doc = ""]
2563 #[doc = " @see cass_session_get_schema_meta()"]
2564 pub fn cass_cluster_set_use_schema(cluster: *mut CassCluster, enabled: cass_bool_t);
2565}
2566extern "C" {
2567 #[doc = " Enable/Disable retrieving hostnames for IP addresses using reverse IP lookup."]
2568 #[doc = ""]
2569 #[doc = " This is useful for authentication (Kerberos) or encryption (SSL) services"]
2570 #[doc = " that require a valid hostname for verification."]
2571 #[doc = ""]
2572 #[doc = " <b>Default:</b> cass_false (disabled)."]
2573 #[doc = ""]
2574 #[doc = " @public @memberof CassCluster"]
2575 #[doc = ""]
2576 #[doc = " @param[in] cluster"]
2577 #[doc = " @param[in] enabled"]
2578 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2579 #[doc = ""]
2580 #[doc = " @see cass_cluster_set_resolve_timeout()"]
2581 pub fn cass_cluster_set_use_hostname_resolution(
2582 cluster: *mut CassCluster,
2583 enabled: cass_bool_t,
2584 ) -> CassError;
2585}
2586extern "C" {
2587 #[doc = " Enable/Disable the randomization of the contact points list."]
2588 #[doc = ""]
2589 #[doc = " <b>Default:</b> cass_true (enabled)."]
2590 #[doc = ""]
2591 #[doc = " <b>Important:</b> This setting should only be disabled for debugging or"]
2592 #[doc = " tests."]
2593 #[doc = ""]
2594 #[doc = " @public @memberof CassCluster"]
2595 #[doc = ""]
2596 #[doc = " @param[in] cluster"]
2597 #[doc = " @param[in] enabled"]
2598 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2599 pub fn cass_cluster_set_use_randomized_contact_points(
2600 cluster: *mut CassCluster,
2601 enabled: cass_bool_t,
2602 ) -> CassError;
2603}
2604extern "C" {
2605 #[doc = " Enable constant speculative executions with the supplied settings."]
2606 #[doc = ""]
2607 #[doc = " @public @memberof CassCluster"]
2608 #[doc = ""]
2609 #[doc = " @param[in] cluster"]
2610 #[doc = " @param[in] constant_delay_ms"]
2611 #[doc = " @param[in] max_speculative_executions"]
2612 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2613 pub fn cass_cluster_set_constant_speculative_execution_policy(
2614 cluster: *mut CassCluster,
2615 constant_delay_ms: cass_int64_t,
2616 max_speculative_executions: ::std::os::raw::c_int,
2617 ) -> CassError;
2618}
2619extern "C" {
2620 #[doc = " Disable speculative executions"]
2621 #[doc = ""]
2622 #[doc = " <b>Default:</b> This is the default speculative execution policy."]
2623 #[doc = ""]
2624 #[doc = " @public @memberof CassCluster"]
2625 #[doc = ""]
2626 #[doc = " @param[in] cluster"]
2627 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2628 pub fn cass_cluster_set_no_speculative_execution_policy(cluster: *mut CassCluster)
2629 -> CassError;
2630}
2631extern "C" {
2632 #[doc = " Sets the maximum number of \"pending write\" objects that will be"]
2633 #[doc = " saved for re-use for marshalling new requests. These objects may"]
2634 #[doc = " hold on to a significant amount of memory and reducing the"]
2635 #[doc = " number of these objects may reduce memory usage of the application."]
2636 #[doc = ""]
2637 #[doc = " The cost of reducing the value of this setting is potentially slower"]
2638 #[doc = " marshalling of requests prior to sending."]
2639 #[doc = ""]
2640 #[doc = " <b>Default:</b> Max unsigned integer value"]
2641 #[doc = ""]
2642 #[doc = " @public @memberof CassCluster"]
2643 #[doc = ""]
2644 #[doc = " @param[in] cluster"]
2645 #[doc = " @param[in] num_objects"]
2646 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
2647 pub fn cass_cluster_set_max_reusable_write_objects(
2648 cluster: *mut CassCluster,
2649 num_objects: ::std::os::raw::c_uint,
2650 ) -> CassError;
2651}
2652extern "C" {
2653 #[doc = " Associates a named execution profile which can be utilized during execution."]
2654 #[doc = ""]
2655 #[doc = " <b>Note:</b> Once the execution profile is added to a cluster, it is"]
2656 #[doc = " immutable and any changes made to the execution profile must be re-assigned"]
2657 #[doc = " to the cluster before a session connection is established in order for those"]
2658 #[doc = " settings to be utilized during query execution."]
2659 #[doc = ""]
2660 #[doc = " @public @memberof CassCluster"]
2661 #[doc = ""]
2662 #[doc = " @param[in] cluster"]
2663 #[doc = " @param[in] name"]
2664 #[doc = " @param[in] profile"]
2665 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2666 #[doc = ""]
2667 #[doc = " @see cass_batch_set_execution_profile()"]
2668 #[doc = " @see cass_statement_set_execution_profile()"]
2669 pub fn cass_cluster_set_execution_profile(
2670 cluster: *mut CassCluster,
2671 name: *const ::std::os::raw::c_char,
2672 profile: *mut CassExecProfile,
2673 ) -> CassError;
2674}
2675extern "C" {
2676 #[doc = " Same as cass_cluster_add_execution_profile(), but with lengths for string"]
2677 #[doc = " parameters."]
2678 #[doc = ""]
2679 #[doc = " @public @memberof CassCluster"]
2680 #[doc = ""]
2681 #[doc = " @param[in] cluster"]
2682 #[doc = " @param[in] name"]
2683 #[doc = " @param[in] name_length"]
2684 #[doc = " @param[in] profile"]
2685 #[doc = " @return same as cass_cluster_set_execution_profile()"]
2686 #[doc = ""]
2687 #[doc = " @see cass_batch_set_execution_profile()"]
2688 #[doc = " @see cass_statement_set_execution_profile()"]
2689 pub fn cass_cluster_set_execution_profile_n(
2690 cluster: *mut CassCluster,
2691 name: *const ::std::os::raw::c_char,
2692 name_length: usize,
2693 profile: *mut CassExecProfile,
2694 ) -> CassError;
2695}
2696extern "C" {
2697 #[doc = " Prepare statements on all available hosts."]
2698 #[doc = ""]
2699 #[doc = " <b>Default:</b> cass_true"]
2700 #[doc = ""]
2701 #[doc = " @public @memberof CassCluster"]
2702 #[doc = ""]
2703 #[doc = " @param cluster"]
2704 #[doc = " @param enabled"]
2705 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2706 pub fn cass_cluster_set_prepare_on_all_hosts(
2707 cluster: *mut CassCluster,
2708 enabled: cass_bool_t,
2709 ) -> CassError;
2710}
2711extern "C" {
2712 #[doc = " Enable pre-preparing cached prepared statements when existing hosts become"]
2713 #[doc = " available again or when new hosts are added to the cluster."]
2714 #[doc = ""]
2715 #[doc = " This can help mitigate request latency when executing prepared statements"]
2716 #[doc = " by avoiding an extra round trip in cases where the statement is"]
2717 #[doc = " unprepared on a freshly started server. The main tradeoff is extra background"]
2718 #[doc = " network traffic is required to prepare the statements on hosts as they become"]
2719 #[doc = " available."]
2720 #[doc = ""]
2721 #[doc = " <b>Default:</b> cass_true"]
2722 #[doc = ""]
2723 #[doc = " @param cluster"]
2724 #[doc = " @param enabled"]
2725 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
2726 pub fn cass_cluster_set_prepare_on_up_or_add_host(
2727 cluster: *mut CassCluster,
2728 enabled: cass_bool_t,
2729 ) -> CassError;
2730}
2731extern "C" {
2732 #[doc = " Enable the <b>NO_COMPACT</b> startup option."]
2733 #[doc = ""]
2734 #[doc = " This can help facilitate uninterrupted cluster upgrades where tables using"]
2735 #[doc = " <b>COMPACT_STORAGE</b> will operate in \"compatibility mode\" for"]
2736 #[doc = " <b>BATCH</b>, <b>DELETE</b>, <b>SELECT</b>, and <b>UPDATE</b> CQL operations."]
2737 #[doc = ""]
2738 #[doc = " <b>Default:</b> cass_false"]
2739 #[doc = ""]
2740 #[doc = " @cassandra{3.0.16+}"]
2741 #[doc = " @cassandra{3.11.2+}"]
2742 #[doc = " @cassandra{4.0+}"]
2743 #[doc = ""]
2744 #[doc = " @public @memberof CassCluster"]
2745 #[doc = ""]
2746 #[doc = " @param[in] cluster"]
2747 #[doc = " @param[in] enabled"]
2748 pub fn cass_cluster_set_no_compact(
2749 cluster: *mut CassCluster,
2750 enabled: cass_bool_t,
2751 ) -> CassError;
2752}
2753extern "C" {
2754 #[doc = " Sets a callback for handling host state changes in the cluster."]
2755 #[doc = ""]
2756 #[doc = " <b>Note:</b> The callback is invoked only when state changes in the cluster"]
2757 #[doc = " are applicable to the configured load balancing policy(s)."]
2758 #[doc = ""]
2759 #[doc = " @public @memberof CassCluster"]
2760 #[doc = ""]
2761 #[doc = " @param[in] cluster"]
2762 #[doc = " @param[in] callback"]
2763 #[doc = " @param[in] data"]
2764 #[doc = " @return CASS_OK if successful, otherwise and error occurred"]
2765 pub fn cass_cluster_set_host_listener_callback(
2766 cluster: *mut CassCluster,
2767 callback: CassHostListenerCallback,
2768 data: *mut ::std::os::raw::c_void,
2769 ) -> CassError;
2770}
2771extern "C" {
2772 #[doc = " Sets the secure connection bundle path for processing DBaaS credentials."]
2773 #[doc = ""]
2774 #[doc = " This will pre-configure a cluster using the credentials format provided by"]
2775 #[doc = " the DBaaS cloud provider."]
2776 #[doc = ""]
2777 #[doc = " @param[in] cluster"]
2778 #[doc = " @param[in] path Absolute path to DBaaS credentials file."]
2779 #[doc = " @return CASS_OK if successful, otherwise error occured."]
2780 pub fn cass_cluster_set_cloud_secure_connection_bundle(
2781 cluster: *mut CassCluster,
2782 path: *const ::std::os::raw::c_char,
2783 ) -> CassError;
2784}
2785extern "C" {
2786 #[doc = " Same as cass_cluster_set_cloud_secure_connection_bundle(), but with lengths"]
2787 #[doc = " for string parameters."]
2788 #[doc = ""]
2789 #[doc = " @see cass_cluster_set_cloud_secure_connection_bundle()"]
2790 #[doc = ""]
2791 #[doc = " @param[in] cluster"]
2792 #[doc = " @param[in] path Absolute path to DBaaS credentials file."]
2793 #[doc = " @param[in] path_length Length of path variable."]
2794 #[doc = " @return CASS_OK if successful, otherwise error occured."]
2795 pub fn cass_cluster_set_cloud_secure_connection_bundle_n(
2796 cluster: *mut CassCluster,
2797 path: *const ::std::os::raw::c_char,
2798 path_length: usize,
2799 ) -> CassError;
2800}
2801extern "C" {
2802 #[doc = " Same as cass_cluster_set_cloud_secure_connection_bundle(), but it does not"]
2803 #[doc = " initialize the underlying SSL library implementation. The SSL library still"]
2804 #[doc = " needs to be initialized, but it's up to the client application to handle"]
2805 #[doc = " initialization. This is similar to the function cass_ssl_new_no_lib_init(),"]
2806 #[doc = " and its documentation should be used as a reference to properly initialize"]
2807 #[doc = " the underlying SSL library."]
2808 #[doc = ""]
2809 #[doc = " @see cass_ssl_new_no_lib_init()"]
2810 #[doc = " @see cass_cluster_set_cloud_secure_connection_bundle()"]
2811 #[doc = ""]
2812 #[doc = " @param[in] cluster"]
2813 #[doc = " @param[in] path Absolute path to DBaaS credentials file."]
2814 #[doc = " @return CASS_OK if successful, otherwise error occured."]
2815 pub fn cass_cluster_set_cloud_secure_connection_bundle_no_ssl_lib_init(
2816 cluster: *mut CassCluster,
2817 path: *const ::std::os::raw::c_char,
2818 ) -> CassError;
2819}
2820extern "C" {
2821 #[doc = " Same as cass_cluster_set_cloud_secure_connection_bundle_no_ssl_lib_init(),"]
2822 #[doc = " but with lengths for string parameters."]
2823 #[doc = ""]
2824 #[doc = " @see cass_cluster_set_cloud_secure_connection_bundle_no_ssl_lib_init()"]
2825 #[doc = ""]
2826 #[doc = " @param[in] cluster"]
2827 #[doc = " @param[in] path Absolute path to DBaaS credentials file."]
2828 #[doc = " @param[in] path_length Length of path variable."]
2829 #[doc = " @return CASS_OK if successful, otherwise error occured."]
2830 pub fn cass_cluster_set_cloud_secure_connection_bundle_no_ssl_lib_init_n(
2831 cluster: *mut CassCluster,
2832 path: *const ::std::os::raw::c_char,
2833 path_length: usize,
2834 ) -> CassError;
2835}
2836extern "C" {
2837 #[doc = " Set the application name."]
2838 #[doc = ""]
2839 #[doc = " This is optional; however it provides the server with the application name"]
2840 #[doc = " that can aid in debugging issues with larger clusters where there are a lot"]
2841 #[doc = " of client (or application) connections."]
2842 #[doc = ""]
2843 #[doc = " @public @memberof CassCluster"]
2844 #[doc = ""]
2845 #[doc = " @param[in] cluster"]
2846 #[doc = " @param[in] application_name"]
2847 pub fn cass_cluster_set_application_name(
2848 cluster: *mut CassCluster,
2849 application_name: *const ::std::os::raw::c_char,
2850 );
2851}
2852extern "C" {
2853 #[doc = " Same as cass_cluster_set_application_name(), but with lengths for string"]
2854 #[doc = " parameters."]
2855 #[doc = ""]
2856 #[doc = " @public @memberof CassCluster"]
2857 #[doc = ""]
2858 #[doc = " @param[in] cluster"]
2859 #[doc = " @param[in] application_name"]
2860 #[doc = " @param[in] application_name_length"]
2861 pub fn cass_cluster_set_application_name_n(
2862 cluster: *mut CassCluster,
2863 application_name: *const ::std::os::raw::c_char,
2864 application_name_length: usize,
2865 );
2866}
2867extern "C" {
2868 #[doc = " Set the application version."]
2869 #[doc = ""]
2870 #[doc = " This is optional; however it provides the server with the application"]
2871 #[doc = " version that can aid in debugging issues with large clusters where there are"]
2872 #[doc = " a lot of client (or application) connections that may have different"]
2873 #[doc = " versions in use."]
2874 #[doc = ""]
2875 #[doc = " @public @memberof CassCluster"]
2876 #[doc = ""]
2877 #[doc = " @param[in] cluster"]
2878 #[doc = " @param[in] application_version"]
2879 pub fn cass_cluster_set_application_version(
2880 cluster: *mut CassCluster,
2881 application_version: *const ::std::os::raw::c_char,
2882 );
2883}
2884extern "C" {
2885 #[doc = " Same as cass_cluster_set_application_version(), but with lengths for string"]
2886 #[doc = " parameters."]
2887 #[doc = ""]
2888 #[doc = " @public @memberof CassCluster"]
2889 #[doc = ""]
2890 #[doc = " @param[in] cluster"]
2891 #[doc = " @param[in] application_version"]
2892 #[doc = " @param[in] application_version_length"]
2893 pub fn cass_cluster_set_application_version_n(
2894 cluster: *mut CassCluster,
2895 application_version: *const ::std::os::raw::c_char,
2896 application_version_length: usize,
2897 );
2898}
2899extern "C" {
2900 #[doc = " Set the client id."]
2901 #[doc = ""]
2902 #[doc = " This is optional; however it provides the server with the client ID that can"]
2903 #[doc = " aid in debugging issues with large clusters where there are a lot of client"]
2904 #[doc = " connections."]
2905 #[doc = ""]
2906 #[doc = " Default: UUID v4 generated (@see cass_session_get_client_id())"]
2907 #[doc = ""]
2908 #[doc = " @public @memberof CassCluster"]
2909 #[doc = ""]
2910 #[doc = " @param[in] cluster"]
2911 #[doc = " @param[in] client_id"]
2912 pub fn cass_cluster_set_client_id(cluster: *mut CassCluster, client_id: CassUuid);
2913}
2914extern "C" {
2915 #[doc = " Sets the amount of time between monitor reporting event messages."]
2916 #[doc = ""]
2917 #[doc = " <b>Default:</b> 300 seconds."]
2918 #[doc = ""]
2919 #[doc = " @public @memberof CassCluster"]
2920 #[doc = ""]
2921 #[doc = " @param[in] cluster"]
2922 #[doc = " @param[in] interval_secs Use 0 to disable monitor reporting event messages."]
2923 pub fn cass_cluster_set_monitor_reporting_interval(
2924 cluster: *mut CassCluster,
2925 interval_secs: ::std::os::raw::c_uint,
2926 );
2927}
2928extern "C" {
2929 #[doc = " Creates a new session."]
2930 #[doc = ""]
2931 #[doc = " @public @memberof CassSession"]
2932 #[doc = ""]
2933 #[doc = " @return Returns a session that must be freed."]
2934 #[doc = ""]
2935 #[doc = " @see cass_session_free()"]
2936 pub fn cass_session_new() -> *mut CassSession;
2937}
2938extern "C" {
2939 #[doc = " Frees a session instance. If the session is still connected it will be synchronously"]
2940 #[doc = " closed before being deallocated."]
2941 #[doc = ""]
2942 #[doc = " Important: Do not free a session in a future callback. Freeing a session in a future"]
2943 #[doc = " callback will cause a deadlock."]
2944 #[doc = ""]
2945 #[doc = " @public @memberof CassSession"]
2946 #[doc = ""]
2947 #[doc = " @param[in] session"]
2948 pub fn cass_session_free(session: *mut CassSession);
2949}
2950extern "C" {
2951 #[doc = " Connects a session."]
2952 #[doc = ""]
2953 #[doc = " @public @memberof CassSession"]
2954 #[doc = ""]
2955 #[doc = " @param[in] session"]
2956 #[doc = " @param[in] cluster The cluster configuration is copied into the session and"]
2957 #[doc = " is immutable after connection."]
2958 #[doc = " @return A future that must be freed."]
2959 #[doc = ""]
2960 #[doc = " @see cass_session_close()"]
2961 pub fn cass_session_connect(
2962 session: *mut CassSession,
2963 cluster: *const CassCluster,
2964 ) -> *mut CassFuture;
2965}
2966extern "C" {
2967 #[doc = " Connects a session and sets the keyspace."]
2968 #[doc = ""]
2969 #[doc = " @public @memberof CassSession"]
2970 #[doc = ""]
2971 #[doc = " @param[in] session"]
2972 #[doc = " @param[in] cluster The cluster configuration is copied into the session and"]
2973 #[doc = " is immutable after connection."]
2974 #[doc = " @param[in] keyspace"]
2975 #[doc = " @return A future that must be freed."]
2976 #[doc = ""]
2977 #[doc = " @see cass_session_close()"]
2978 pub fn cass_session_connect_keyspace(
2979 session: *mut CassSession,
2980 cluster: *const CassCluster,
2981 keyspace: *const ::std::os::raw::c_char,
2982 ) -> *mut CassFuture;
2983}
2984extern "C" {
2985 #[doc = " Same as cass_session_connect_keyspace(), but with lengths for string"]
2986 #[doc = " parameters."]
2987 #[doc = ""]
2988 #[doc = " @public @memberof CassSession"]
2989 #[doc = ""]
2990 #[doc = " @param[in] session"]
2991 #[doc = " @param[in] cluster"]
2992 #[doc = " @param[in] keyspace"]
2993 #[doc = " @param[in] keyspace_length"]
2994 #[doc = " @return same as cass_session_connect_keyspace()"]
2995 #[doc = ""]
2996 #[doc = " @see cass_session_connect_keyspace()"]
2997 pub fn cass_session_connect_keyspace_n(
2998 session: *mut CassSession,
2999 cluster: *const CassCluster,
3000 keyspace: *const ::std::os::raw::c_char,
3001 keyspace_length: usize,
3002 ) -> *mut CassFuture;
3003}
3004extern "C" {
3005 #[doc = " Closes the session instance, outputs a close future which can"]
3006 #[doc = " be used to determine when the session has been terminated. This allows"]
3007 #[doc = " in-flight requests to finish."]
3008 #[doc = ""]
3009 #[doc = " @public @memberof CassSession"]
3010 #[doc = ""]
3011 #[doc = " @param[in] session"]
3012 #[doc = " @return A future that must be freed."]
3013 pub fn cass_session_close(session: *mut CassSession) -> *mut CassFuture;
3014}
3015extern "C" {
3016 #[doc = " Create a prepared statement."]
3017 #[doc = ""]
3018 #[doc = " @public @memberof CassSession"]
3019 #[doc = ""]
3020 #[doc = " @param[in] session"]
3021 #[doc = " @param[in] query The query is copied into the statement object; the"]
3022 #[doc = " memory pointed to by this parameter can be freed after this call."]
3023 #[doc = " @return A future that must be freed."]
3024 #[doc = ""]
3025 #[doc = " @see cass_future_get_prepared()"]
3026 pub fn cass_session_prepare(
3027 session: *mut CassSession,
3028 query: *const ::std::os::raw::c_char,
3029 ) -> *mut CassFuture;
3030}
3031extern "C" {
3032 #[doc = " Same as cass_session_prepare(), but with lengths for string"]
3033 #[doc = " parameters."]
3034 #[doc = ""]
3035 #[doc = " @public @memberof CassSession"]
3036 #[doc = ""]
3037 #[doc = " @param[in] session"]
3038 #[doc = " @param[in] query"]
3039 #[doc = " @param[in] query_length"]
3040 #[doc = " @return same as cass_session_prepare()"]
3041 #[doc = ""]
3042 #[doc = " @see cass_session_prepare()"]
3043 pub fn cass_session_prepare_n(
3044 session: *mut CassSession,
3045 query: *const ::std::os::raw::c_char,
3046 query_length: usize,
3047 ) -> *mut CassFuture;
3048}
3049extern "C" {
3050 #[doc = " Create a prepared statement from an existing statement."]
3051 #[doc = ""]
3052 #[doc = " <b>Note:</b> Bound statements will inherit the keyspace, consistency,"]
3053 #[doc = " serial consistency, request timeout and retry policy of the existing"]
3054 #[doc = " statement."]
3055 #[doc = ""]
3056 #[doc = " @public @memberof CassSession"]
3057 #[doc = ""]
3058 #[doc = " @param[in] session"]
3059 #[doc = " @param[in] statement"]
3060 #[doc = " @return A future that must be freed."]
3061 #[doc = ""]
3062 #[doc = " @see cass_future_get_prepared()"]
3063 pub fn cass_session_prepare_from_existing(
3064 session: *mut CassSession,
3065 statement: *mut CassStatement,
3066 ) -> *mut CassFuture;
3067}
3068extern "C" {
3069 #[doc = " Execute a query or bound statement."]
3070 #[doc = ""]
3071 #[doc = " @public @memberof CassSession"]
3072 #[doc = ""]
3073 #[doc = " @param[in] session"]
3074 #[doc = " @param[in] statement"]
3075 #[doc = " @return A future that must be freed."]
3076 #[doc = ""]
3077 #[doc = " @see cass_future_get_result()"]
3078 pub fn cass_session_execute(
3079 session: *mut CassSession,
3080 statement: *const CassStatement,
3081 ) -> *mut CassFuture;
3082}
3083extern "C" {
3084 #[doc = " Execute a batch statement."]
3085 #[doc = ""]
3086 #[doc = " @cassandra{2.0+}"]
3087 #[doc = ""]
3088 #[doc = " @public @memberof CassSession"]
3089 #[doc = ""]
3090 #[doc = " @param[in] session"]
3091 #[doc = " @param[in] batch"]
3092 #[doc = " @return A future that must be freed."]
3093 #[doc = ""]
3094 #[doc = " @see cass_future_get_result()"]
3095 pub fn cass_session_execute_batch(
3096 session: *mut CassSession,
3097 batch: *const CassBatch,
3098 ) -> *mut CassFuture;
3099}
3100extern "C" {
3101 #[doc = " Gets a snapshot of this session's schema metadata. The returned"]
3102 #[doc = " snapshot of the schema metadata is not updated. This function"]
3103 #[doc = " must be called again to retrieve any schema changes since the"]
3104 #[doc = " previous call."]
3105 #[doc = ""]
3106 #[doc = " @public @memberof CassSession"]
3107 #[doc = ""]
3108 #[doc = " @param[in] session"]
3109 #[doc = " @return A schema instance that must be freed."]
3110 #[doc = ""]
3111 #[doc = " @see cass_schema_meta_free()"]
3112 pub fn cass_session_get_schema_meta(session: *const CassSession) -> *const CassSchemaMeta;
3113}
3114extern "C" {
3115 #[doc = " Gets a copy of this session's performance/diagnostic metrics."]
3116 #[doc = ""]
3117 #[doc = " @public @memberof CassSession"]
3118 #[doc = ""]
3119 #[doc = " @param[in] session"]
3120 #[doc = " @param[out] output"]
3121 pub fn cass_session_get_metrics(session: *const CassSession, output: *mut CassMetrics);
3122}
3123extern "C" {
3124 #[doc = " Gets a copy of this session's speculative execution metrics."]
3125 #[doc = ""]
3126 #[doc = " @public @memberof CassSession"]
3127 #[doc = ""]
3128 #[doc = " @param[in] session"]
3129 #[doc = " @param[out] output"]
3130 pub fn cass_session_get_speculative_execution_metrics(
3131 session: *const CassSession,
3132 output: *mut CassSpeculativeExecutionMetrics,
3133 );
3134}
3135extern "C" {
3136 #[doc = " Get the client id."]
3137 #[doc = ""]
3138 #[doc = " @public @memberof CassSession"]
3139 #[doc = ""]
3140 #[doc = " @param[in] session"]
3141 #[doc = " @return Client id."]
3142 pub fn cass_session_get_client_id(session: *mut CassSession) -> CassUuid;
3143}
3144extern "C" {
3145 #[doc = " Frees a schema metadata instance."]
3146 #[doc = ""]
3147 #[doc = " @public @memberof CassSchemaMeta"]
3148 #[doc = ""]
3149 #[doc = " @param[in] schema_meta"]
3150 pub fn cass_schema_meta_free(schema_meta: *const CassSchemaMeta);
3151}
3152extern "C" {
3153 #[doc = " Gets the version of the schema metadata snapshot."]
3154 #[doc = ""]
3155 #[doc = " @public @memberof CassSchemaMeta"]
3156 #[doc = ""]
3157 #[doc = " @param[in] schema_meta"]
3158 #[doc = ""]
3159 #[doc = " @return The snapshot version."]
3160 pub fn cass_schema_meta_snapshot_version(schema_meta: *const CassSchemaMeta) -> cass_uint32_t;
3161}
3162extern "C" {
3163 #[doc = " Gets the version of the connected Cassandra cluster."]
3164 #[doc = ""]
3165 #[doc = " @public @memberof CassSchemaMeta"]
3166 #[doc = ""]
3167 #[doc = " @param[in] schema_meta"]
3168 #[doc = ""]
3169 #[doc = " @return Cassandra's version"]
3170 pub fn cass_schema_meta_version(schema_meta: *const CassSchemaMeta) -> CassVersion;
3171}
3172extern "C" {
3173 #[doc = " Gets the keyspace metadata for the provided keyspace name."]
3174 #[doc = ""]
3175 #[doc = " @public @memberof CassSchemaMeta"]
3176 #[doc = ""]
3177 #[doc = " @param[in] schema_meta"]
3178 #[doc = " @param[in] keyspace"]
3179 #[doc = ""]
3180 #[doc = " @return The metadata for a keyspace. NULL if keyspace does not exist."]
3181 pub fn cass_schema_meta_keyspace_by_name(
3182 schema_meta: *const CassSchemaMeta,
3183 keyspace: *const ::std::os::raw::c_char,
3184 ) -> *const CassKeyspaceMeta;
3185}
3186extern "C" {
3187 #[doc = " Same as cass_schema_meta_keyspace_by_name(), but with lengths for string"]
3188 #[doc = " parameters."]
3189 #[doc = ""]
3190 #[doc = " @public @memberof CassSchemaMeta"]
3191 #[doc = ""]
3192 #[doc = " @param[in] schema_meta"]
3193 #[doc = " @param[in] keyspace"]
3194 #[doc = " @param[in] keyspace_length"]
3195 #[doc = " @return same as cass_schema_meta_keyspace_by_name()"]
3196 #[doc = ""]
3197 #[doc = " @see cass_schema_meta_keyspace_by_name()"]
3198 pub fn cass_schema_meta_keyspace_by_name_n(
3199 schema_meta: *const CassSchemaMeta,
3200 keyspace: *const ::std::os::raw::c_char,
3201 keyspace_length: usize,
3202 ) -> *const CassKeyspaceMeta;
3203}
3204extern "C" {
3205 #[doc = " Gets the name of the keyspace."]
3206 #[doc = ""]
3207 #[doc = " @public @memberof CassKeyspaceMeta"]
3208 #[doc = ""]
3209 #[doc = " @param[in] keyspace_meta"]
3210 #[doc = " @param[out] name"]
3211 #[doc = " @param[out] name_length"]
3212 pub fn cass_keyspace_meta_name(
3213 keyspace_meta: *const CassKeyspaceMeta,
3214 name: *mut *const ::std::os::raw::c_char,
3215 name_length: *mut usize,
3216 );
3217}
3218extern "C" {
3219 #[doc = " Determine if the keyspace is a virtual keyspace."]
3220 #[doc = ""]
3221 #[doc = " @public @memberof CassKeyspaceMeta"]
3222 #[doc = ""]
3223 #[doc = " @param[in] keyspace_meta"]
3224 #[doc = " @return cass_true is the keyspace is virtual, otherwise cass_false"]
3225 pub fn cass_keyspace_meta_is_virtual(keyspace_meta: *const CassKeyspaceMeta) -> cass_bool_t;
3226}
3227extern "C" {
3228 #[doc = " Gets the table metadata for the provided table name."]
3229 #[doc = ""]
3230 #[doc = " @public @memberof CassKeyspaceMeta"]
3231 #[doc = ""]
3232 #[doc = " @param[in] keyspace_meta"]
3233 #[doc = " @param[in] table"]
3234 #[doc = ""]
3235 #[doc = " @return The metadata for a table. NULL if table does not exist."]
3236 pub fn cass_keyspace_meta_table_by_name(
3237 keyspace_meta: *const CassKeyspaceMeta,
3238 table: *const ::std::os::raw::c_char,
3239 ) -> *const CassTableMeta;
3240}
3241extern "C" {
3242 #[doc = " Same as cass_keyspace_meta_table_by_name(), but with lengths for string"]
3243 #[doc = " parameters."]
3244 #[doc = ""]
3245 #[doc = " @public @memberof CassKeyspaceMeta"]
3246 #[doc = ""]
3247 #[doc = " @param[in] keyspace_meta"]
3248 #[doc = " @param[in] table"]
3249 #[doc = " @param[in] table_length"]
3250 #[doc = " @return same as cass_keyspace_meta_table_by_name()"]
3251 #[doc = ""]
3252 #[doc = " @see cass_keyspace_meta_table_by_name()"]
3253 pub fn cass_keyspace_meta_table_by_name_n(
3254 keyspace_meta: *const CassKeyspaceMeta,
3255 table: *const ::std::os::raw::c_char,
3256 table_length: usize,
3257 ) -> *const CassTableMeta;
3258}
3259extern "C" {
3260 #[doc = " Gets the materialized view metadata for the provided view name."]
3261 #[doc = ""]
3262 #[doc = " @cassandra{3.0+}"]
3263 #[doc = ""]
3264 #[doc = " @public @memberof CassKeyspaceMeta"]
3265 #[doc = ""]
3266 #[doc = " @param[in] keyspace_meta"]
3267 #[doc = " @param[in] view"]
3268 #[doc = ""]
3269 #[doc = " @return The metadata for a view. NULL if view does not exist."]
3270 pub fn cass_keyspace_meta_materialized_view_by_name(
3271 keyspace_meta: *const CassKeyspaceMeta,
3272 view: *const ::std::os::raw::c_char,
3273 ) -> *const CassMaterializedViewMeta;
3274}
3275extern "C" {
3276 #[doc = " Same as cass_keyspace_meta_materialized_view_by_name(), but with lengths for string"]
3277 #[doc = " parameters."]
3278 #[doc = ""]
3279 #[doc = " @cassandra{3.0+}"]
3280 #[doc = ""]
3281 #[doc = " @public @memberof CassKeyspaceMeta"]
3282 #[doc = ""]
3283 #[doc = " @param[in] keyspace_meta"]
3284 #[doc = " @param[in] view"]
3285 #[doc = " @param[in] view_length"]
3286 #[doc = " @return same as cass_keyspace_meta_materialized_view_by_name()"]
3287 #[doc = ""]
3288 #[doc = " @see cass_keyspace_meta_materialized_view_by_name()"]
3289 pub fn cass_keyspace_meta_materialized_view_by_name_n(
3290 keyspace_meta: *const CassKeyspaceMeta,
3291 view: *const ::std::os::raw::c_char,
3292 view_length: usize,
3293 ) -> *const CassMaterializedViewMeta;
3294}
3295extern "C" {
3296 #[doc = " Gets the data type for the provided type name."]
3297 #[doc = ""]
3298 #[doc = " @cassandra{2.1+}"]
3299 #[doc = ""]
3300 #[doc = " @public @memberof CassKeyspaceMeta"]
3301 #[doc = ""]
3302 #[doc = " @param[in] keyspace_meta"]
3303 #[doc = " @param[in] type"]
3304 #[doc = ""]
3305 #[doc = " @return The data type for a user defined type. NULL if type does not exist."]
3306 pub fn cass_keyspace_meta_user_type_by_name(
3307 keyspace_meta: *const CassKeyspaceMeta,
3308 type_: *const ::std::os::raw::c_char,
3309 ) -> *const CassDataType;
3310}
3311extern "C" {
3312 #[doc = " Same as cass_keyspace_meta_type_by_name(), but with lengths for string"]
3313 #[doc = " parameters."]
3314 #[doc = ""]
3315 #[doc = " @cassandra{2.1+}"]
3316 #[doc = ""]
3317 #[doc = " @public @memberof CassKeyspaceMeta"]
3318 #[doc = ""]
3319 #[doc = " @param[in] keyspace_meta"]
3320 #[doc = " @param[in] type"]
3321 #[doc = " @param[in] type_length"]
3322 #[doc = " @return same as cass_keyspace_meta_type_by_name()"]
3323 #[doc = ""]
3324 #[doc = " @see cass_keyspace_meta_type_by_name()"]
3325 pub fn cass_keyspace_meta_user_type_by_name_n(
3326 keyspace_meta: *const CassKeyspaceMeta,
3327 type_: *const ::std::os::raw::c_char,
3328 type_length: usize,
3329 ) -> *const CassDataType;
3330}
3331extern "C" {
3332 #[doc = " Gets the function metadata for the provided function name."]
3333 #[doc = ""]
3334 #[doc = " @cassandra{2.2+}"]
3335 #[doc = ""]
3336 #[doc = " @public @memberof CassKeyspaceMeta"]
3337 #[doc = ""]
3338 #[doc = " @param[in] keyspace_meta"]
3339 #[doc = " @param[in] name"]
3340 #[doc = " @param[in] arguments A comma delimited list of CQL types (e.g \"text,int,...\")"]
3341 #[doc = " describing the function's signature."]
3342 #[doc = ""]
3343 #[doc = " @return The data function for a user defined function. NULL if function does not exist."]
3344 pub fn cass_keyspace_meta_function_by_name(
3345 keyspace_meta: *const CassKeyspaceMeta,
3346 name: *const ::std::os::raw::c_char,
3347 arguments: *const ::std::os::raw::c_char,
3348 ) -> *const CassFunctionMeta;
3349}
3350extern "C" {
3351 #[doc = " Same as cass_keyspace_meta_function_by_name(), but with lengths for string"]
3352 #[doc = " parameters."]
3353 #[doc = ""]
3354 #[doc = " @cassandra{2.2+}"]
3355 #[doc = ""]
3356 #[doc = " @public @memberof CassKeyspaceMeta"]
3357 #[doc = ""]
3358 #[doc = " @param[in] keyspace_meta"]
3359 #[doc = " @param[in] name"]
3360 #[doc = " @param[in] name_length"]
3361 #[doc = " @param[in] arguments"]
3362 #[doc = " @param[in] arguments_length"]
3363 #[doc = " @return same as cass_keyspace_meta_function_by_name()"]
3364 #[doc = ""]
3365 #[doc = " @see cass_keyspace_meta_function_by_name()"]
3366 pub fn cass_keyspace_meta_function_by_name_n(
3367 keyspace_meta: *const CassKeyspaceMeta,
3368 name: *const ::std::os::raw::c_char,
3369 name_length: usize,
3370 arguments: *const ::std::os::raw::c_char,
3371 arguments_length: usize,
3372 ) -> *const CassFunctionMeta;
3373}
3374extern "C" {
3375 #[doc = " Gets the aggregate metadata for the provided aggregate name."]
3376 #[doc = ""]
3377 #[doc = " @cassandra{2.2+}"]
3378 #[doc = ""]
3379 #[doc = " @public @memberof CassKeyspaceMeta"]
3380 #[doc = ""]
3381 #[doc = " @param[in] keyspace_meta"]
3382 #[doc = " @param[in] name"]
3383 #[doc = " @param[in] arguments A comma delimited list of CQL types (e.g \"text,int,...\")"]
3384 #[doc = " describing the aggregate's signature."]
3385 #[doc = ""]
3386 #[doc = " @return The data aggregate for a user defined aggregate. NULL if aggregate does not exist."]
3387 pub fn cass_keyspace_meta_aggregate_by_name(
3388 keyspace_meta: *const CassKeyspaceMeta,
3389 name: *const ::std::os::raw::c_char,
3390 arguments: *const ::std::os::raw::c_char,
3391 ) -> *const CassAggregateMeta;
3392}
3393extern "C" {
3394 #[doc = " Same as cass_keyspace_meta_aggregate_by_name(), but with lengths for string"]
3395 #[doc = " parameters."]
3396 #[doc = ""]
3397 #[doc = " @cassandra{2.2+}"]
3398 #[doc = ""]
3399 #[doc = " @public @memberof CassKeyspaceMeta"]
3400 #[doc = ""]
3401 #[doc = " @param[in] keyspace_meta"]
3402 #[doc = " @param[in] name"]
3403 #[doc = " @param[in] name_length"]
3404 #[doc = " @param[in] arguments"]
3405 #[doc = " @param[in] arguments_length"]
3406 #[doc = " @return same as cass_keyspace_meta_aggregate_by_name()"]
3407 #[doc = ""]
3408 #[doc = " @see cass_keyspace_meta_aggregate_by_name()"]
3409 pub fn cass_keyspace_meta_aggregate_by_name_n(
3410 keyspace_meta: *const CassKeyspaceMeta,
3411 name: *const ::std::os::raw::c_char,
3412 name_length: usize,
3413 arguments: *const ::std::os::raw::c_char,
3414 arguments_length: usize,
3415 ) -> *const CassAggregateMeta;
3416}
3417extern "C" {
3418 #[doc = " Gets a metadata field for the provided name. Metadata fields allow direct"]
3419 #[doc = " access to the column data found in the underlying \"keyspaces\" metadata table."]
3420 #[doc = ""]
3421 #[doc = " @public @memberof CassKeyspaceMeta"]
3422 #[doc = ""]
3423 #[doc = " @param[in] keyspace_meta"]
3424 #[doc = " @param[in] name"]
3425 #[doc = " @return A metadata field value. NULL if the field does not exist."]
3426 pub fn cass_keyspace_meta_field_by_name(
3427 keyspace_meta: *const CassKeyspaceMeta,
3428 name: *const ::std::os::raw::c_char,
3429 ) -> *const CassValue;
3430}
3431extern "C" {
3432 #[doc = " Same as cass_keyspace_meta_field_by_name(), but with lengths for string"]
3433 #[doc = " parameters."]
3434 #[doc = ""]
3435 #[doc = " @public @memberof CassKeyspaceMeta"]
3436 #[doc = ""]
3437 #[doc = " @param[in] keyspace_meta"]
3438 #[doc = " @param[in] name"]
3439 #[doc = " @param[in] name_length"]
3440 #[doc = " @return same as cass_keyspace_meta_field_by_name()"]
3441 #[doc = ""]
3442 #[doc = " @see cass_keyspace_meta_field_by_name()"]
3443 pub fn cass_keyspace_meta_field_by_name_n(
3444 keyspace_meta: *const CassKeyspaceMeta,
3445 name: *const ::std::os::raw::c_char,
3446 name_length: usize,
3447 ) -> *const CassValue;
3448}
3449extern "C" {
3450 #[doc = " Gets the name of the table."]
3451 #[doc = ""]
3452 #[doc = " @public @memberof CassTableMeta"]
3453 #[doc = ""]
3454 #[doc = " @param[in] table_meta"]
3455 #[doc = " @param[out] name"]
3456 #[doc = " @param[out] name_length"]
3457 pub fn cass_table_meta_name(
3458 table_meta: *const CassTableMeta,
3459 name: *mut *const ::std::os::raw::c_char,
3460 name_length: *mut usize,
3461 );
3462}
3463extern "C" {
3464 #[doc = " Determine if the table is a virtual table."]
3465 #[doc = ""]
3466 #[doc = " @public @memberof CassTableMeta"]
3467 #[doc = ""]
3468 #[doc = " @param[in] table_meta"]
3469 #[doc = " @return cass_true is the table is virtual, otherwise cass_false"]
3470 pub fn cass_table_meta_is_virtual(table_meta: *const CassTableMeta) -> cass_bool_t;
3471}
3472extern "C" {
3473 #[doc = " Gets the column metadata for the provided column name."]
3474 #[doc = ""]
3475 #[doc = " @public @memberof CassTableMeta"]
3476 #[doc = ""]
3477 #[doc = " @param[in] table_meta"]
3478 #[doc = " @param[in] column"]
3479 #[doc = ""]
3480 #[doc = " @return The metadata for a column. NULL if column does not exist."]
3481 pub fn cass_table_meta_column_by_name(
3482 table_meta: *const CassTableMeta,
3483 column: *const ::std::os::raw::c_char,
3484 ) -> *const CassColumnMeta;
3485}
3486extern "C" {
3487 #[doc = " Same as cass_table_meta_column_by_name(), but with lengths for string"]
3488 #[doc = " parameters."]
3489 #[doc = ""]
3490 #[doc = " @public @memberof CassTableMeta"]
3491 #[doc = ""]
3492 #[doc = " @param[in] table_meta"]
3493 #[doc = " @param[in] column"]
3494 #[doc = " @param[in] column_length"]
3495 #[doc = " @return same as cass_table_meta_column_by_name()"]
3496 #[doc = ""]
3497 #[doc = " @see cass_table_meta_column_by_name()"]
3498 pub fn cass_table_meta_column_by_name_n(
3499 table_meta: *const CassTableMeta,
3500 column: *const ::std::os::raw::c_char,
3501 column_length: usize,
3502 ) -> *const CassColumnMeta;
3503}
3504extern "C" {
3505 #[doc = " Gets the total number of columns for the table."]
3506 #[doc = ""]
3507 #[doc = " @public @memberof CassTableMeta"]
3508 #[doc = ""]
3509 #[doc = " @param[in] table_meta"]
3510 #[doc = " @return The total column count."]
3511 pub fn cass_table_meta_column_count(table_meta: *const CassTableMeta) -> usize;
3512}
3513extern "C" {
3514 #[doc = " Gets the column metadata for the provided index."]
3515 #[doc = ""]
3516 #[doc = " @public @memberof CassTableMeta"]
3517 #[doc = ""]
3518 #[doc = " @param[in] table_meta"]
3519 #[doc = " @param[in] index"]
3520 #[doc = " @return The metadata for a column. NULL returned if the index is out of range."]
3521 pub fn cass_table_meta_column(
3522 table_meta: *const CassTableMeta,
3523 index: usize,
3524 ) -> *const CassColumnMeta;
3525}
3526extern "C" {
3527 #[doc = " Gets the index metadata for the provided index name."]
3528 #[doc = ""]
3529 #[doc = " @public @memberof CassTableMeta"]
3530 #[doc = ""]
3531 #[doc = " @param[in] table_meta"]
3532 #[doc = " @param[in] index"]
3533 #[doc = ""]
3534 #[doc = " @return The metadata for a index. NULL if index does not exist."]
3535 pub fn cass_table_meta_index_by_name(
3536 table_meta: *const CassTableMeta,
3537 index: *const ::std::os::raw::c_char,
3538 ) -> *const CassIndexMeta;
3539}
3540extern "C" {
3541 #[doc = " Same as cass_table_meta_index_by_name(), but with lengths for string"]
3542 #[doc = " parameters."]
3543 #[doc = ""]
3544 #[doc = " @public @memberof CassTableMeta"]
3545 #[doc = ""]
3546 #[doc = " @param[in] table_meta"]
3547 #[doc = " @param[in] index"]
3548 #[doc = " @param[in] index_length"]
3549 #[doc = " @return same as cass_table_meta_index_by_name()"]
3550 #[doc = ""]
3551 #[doc = " @see cass_table_meta_index_by_name()"]
3552 pub fn cass_table_meta_index_by_name_n(
3553 table_meta: *const CassTableMeta,
3554 index: *const ::std::os::raw::c_char,
3555 index_length: usize,
3556 ) -> *const CassIndexMeta;
3557}
3558extern "C" {
3559 #[doc = " Gets the total number of indexes for the table."]
3560 #[doc = ""]
3561 #[doc = " @public @memberof CassTableMeta"]
3562 #[doc = ""]
3563 #[doc = " @param[in] table_meta"]
3564 #[doc = " @return The total index count."]
3565 pub fn cass_table_meta_index_count(table_meta: *const CassTableMeta) -> usize;
3566}
3567extern "C" {
3568 #[doc = " Gets the index metadata for the provided index."]
3569 #[doc = ""]
3570 #[doc = " @public @memberof CassTableMeta"]
3571 #[doc = ""]
3572 #[doc = " @param[in] table_meta"]
3573 #[doc = " @param[in] index"]
3574 #[doc = " @return The metadata for a index. NULL returned if the index is out of range."]
3575 pub fn cass_table_meta_index(
3576 table_meta: *const CassTableMeta,
3577 index: usize,
3578 ) -> *const CassIndexMeta;
3579}
3580extern "C" {
3581 #[doc = " Gets the materialized view metadata for the provided view name."]
3582 #[doc = ""]
3583 #[doc = " @cassandra{3.0+}"]
3584 #[doc = ""]
3585 #[doc = " @public @memberof CassTableMeta"]
3586 #[doc = ""]
3587 #[doc = " @param[in] table_meta"]
3588 #[doc = " @param[in] view"]
3589 #[doc = ""]
3590 #[doc = " @return The metadata for a view. NULL if view does not exist."]
3591 pub fn cass_table_meta_materialized_view_by_name(
3592 table_meta: *const CassTableMeta,
3593 view: *const ::std::os::raw::c_char,
3594 ) -> *const CassMaterializedViewMeta;
3595}
3596extern "C" {
3597 #[doc = " Same as cass_table_meta_materialized_view_by_name(), but with lengths for string"]
3598 #[doc = " parameters."]
3599 #[doc = ""]
3600 #[doc = " @cassandra{3.0+}"]
3601 #[doc = ""]
3602 #[doc = " @public @memberof CassTableMeta"]
3603 #[doc = ""]
3604 #[doc = " @param[in] table_meta"]
3605 #[doc = " @param[in] view"]
3606 #[doc = " @param[in] view_length"]
3607 #[doc = " @return same as cass_table_meta_materialized_view_by_name()"]
3608 #[doc = ""]
3609 #[doc = " @see cass_table_meta_materialized_view_by_name()"]
3610 pub fn cass_table_meta_materialized_view_by_name_n(
3611 table_meta: *const CassTableMeta,
3612 view: *const ::std::os::raw::c_char,
3613 view_length: usize,
3614 ) -> *const CassMaterializedViewMeta;
3615}
3616extern "C" {
3617 #[doc = " Gets the total number of views for the table."]
3618 #[doc = ""]
3619 #[doc = " @cassandra{3.0+}"]
3620 #[doc = ""]
3621 #[doc = " @public @memberof CassTableMeta"]
3622 #[doc = ""]
3623 #[doc = " @param[in] table_meta"]
3624 #[doc = " @return The total view count."]
3625 pub fn cass_table_meta_materialized_view_count(table_meta: *const CassTableMeta) -> usize;
3626}
3627extern "C" {
3628 #[doc = " Gets the materialized view metadata for the provided index."]
3629 #[doc = ""]
3630 #[doc = " @cassandra{3.0+}"]
3631 #[doc = ""]
3632 #[doc = " @public @memberof CassTableMeta"]
3633 #[doc = ""]
3634 #[doc = " @param[in] table_meta"]
3635 #[doc = " @param[in] index"]
3636 #[doc = " @return The metadata for a view. NULL returned if the index is out of range."]
3637 pub fn cass_table_meta_materialized_view(
3638 table_meta: *const CassTableMeta,
3639 index: usize,
3640 ) -> *const CassMaterializedViewMeta;
3641}
3642extern "C" {
3643 #[doc = " Gets the number of columns for the table's partition key."]
3644 #[doc = ""]
3645 #[doc = " @public @memberof CassTableMeta"]
3646 #[doc = ""]
3647 #[doc = " @param[in] table_meta"]
3648 #[doc = " @return The count for the number of columns in the partition key."]
3649 pub fn cass_table_meta_partition_key_count(table_meta: *const CassTableMeta) -> usize;
3650}
3651extern "C" {
3652 #[doc = " Gets the partition key column metadata for the provided index."]
3653 #[doc = ""]
3654 #[doc = " @public @memberof CassTableMeta"]
3655 #[doc = ""]
3656 #[doc = " @param[in] table_meta"]
3657 #[doc = " @param[in] index"]
3658 #[doc = " @return The metadata for a column. NULL returned if the index is out of range."]
3659 #[doc = ""]
3660 #[doc = " @see cass_table_meta_partition_key_count()"]
3661 pub fn cass_table_meta_partition_key(
3662 table_meta: *const CassTableMeta,
3663 index: usize,
3664 ) -> *const CassColumnMeta;
3665}
3666extern "C" {
3667 #[doc = " Gets the number of columns for the table's clustering key."]
3668 #[doc = ""]
3669 #[doc = " @public @memberof CassTableMeta"]
3670 #[doc = ""]
3671 #[doc = " @param[in] table_meta"]
3672 #[doc = " @return The count for the number of columns in the clustering key."]
3673 pub fn cass_table_meta_clustering_key_count(table_meta: *const CassTableMeta) -> usize;
3674}
3675extern "C" {
3676 #[doc = " Gets the clustering key column metadata for the provided index."]
3677 #[doc = ""]
3678 #[doc = " @public @memberof CassTableMeta"]
3679 #[doc = ""]
3680 #[doc = " @param[in] table_meta"]
3681 #[doc = " @param[in] index"]
3682 #[doc = " @return The metadata for a column. NULL returned if the index is out of range."]
3683 #[doc = ""]
3684 #[doc = " @see cass_table_meta_clustering_key_count()"]
3685 pub fn cass_table_meta_clustering_key(
3686 table_meta: *const CassTableMeta,
3687 index: usize,
3688 ) -> *const CassColumnMeta;
3689}
3690extern "C" {
3691 #[doc = " Gets the clustering order column metadata for the provided index."]
3692 #[doc = ""]
3693 #[doc = " @public @memberof CassTableMeta"]
3694 #[doc = ""]
3695 #[doc = " @param[in] table_meta"]
3696 #[doc = " @param[in] index"]
3697 #[doc = " @return The clustering order for a column."]
3698 #[doc = " CASS_CLUSTERING_ORDER_NONE returned if the index is out of range."]
3699 #[doc = ""]
3700 #[doc = " @see cass_table_meta_clustering_key_count()"]
3701 pub fn cass_table_meta_clustering_key_order(
3702 table_meta: *const CassTableMeta,
3703 index: usize,
3704 ) -> CassClusteringOrder;
3705}
3706extern "C" {
3707 #[doc = " Gets a metadata field for the provided name. Metadata fields allow direct"]
3708 #[doc = " access to the column data found in the underlying \"tables\" metadata table."]
3709 #[doc = ""]
3710 #[doc = " @public @memberof CassTableMeta"]
3711 #[doc = ""]
3712 #[doc = " @param[in] table_meta"]
3713 #[doc = " @param[in] name"]
3714 #[doc = " @return A metadata field value. NULL if the field does not exist."]
3715 pub fn cass_table_meta_field_by_name(
3716 table_meta: *const CassTableMeta,
3717 name: *const ::std::os::raw::c_char,
3718 ) -> *const CassValue;
3719}
3720extern "C" {
3721 #[doc = " Same as cass_table_meta_field_by_name(), but with lengths for string"]
3722 #[doc = " parameters."]
3723 #[doc = ""]
3724 #[doc = " @public @memberof CassTableMeta"]
3725 #[doc = ""]
3726 #[doc = " @param[in] table_meta"]
3727 #[doc = " @param[in] name"]
3728 #[doc = " @param[in] name_length"]
3729 #[doc = " @return same as cass_table_meta_field_by_name()"]
3730 #[doc = ""]
3731 #[doc = " @see cass_table_meta_field_by_name()"]
3732 pub fn cass_table_meta_field_by_name_n(
3733 table_meta: *const CassTableMeta,
3734 name: *const ::std::os::raw::c_char,
3735 name_length: usize,
3736 ) -> *const CassValue;
3737}
3738extern "C" {
3739 #[doc = " Gets the column metadata for the provided column name."]
3740 #[doc = ""]
3741 #[doc = " @cassandra{3.0+}"]
3742 #[doc = ""]
3743 #[doc = " @public @memberof CassMaterializedViewMeta"]
3744 #[doc = ""]
3745 #[doc = " @param[in] view_meta"]
3746 #[doc = " @param[in] column"]
3747 #[doc = ""]
3748 #[doc = " @return The metadata for a column. NULL if column does not exist."]
3749 pub fn cass_materialized_view_meta_column_by_name(
3750 view_meta: *const CassMaterializedViewMeta,
3751 column: *const ::std::os::raw::c_char,
3752 ) -> *const CassColumnMeta;
3753}
3754extern "C" {
3755 #[doc = " Same as cass_materialized_view_meta_column_by_name(), but with lengths for string"]
3756 #[doc = " parameters."]
3757 #[doc = ""]
3758 #[doc = " @cassandra{3.0+}"]
3759 #[doc = ""]
3760 #[doc = " @public @memberof CassMaterializedViewMeta"]
3761 #[doc = ""]
3762 #[doc = " @param[in] view_meta"]
3763 #[doc = " @param[in] column"]
3764 #[doc = " @param[in] column_length"]
3765 #[doc = " @return same as cass_materialized_view_meta_column_by_name()"]
3766 #[doc = ""]
3767 #[doc = " @see cass_materialized_view_meta_column_by_name()"]
3768 pub fn cass_materialized_view_meta_column_by_name_n(
3769 view_meta: *const CassMaterializedViewMeta,
3770 column: *const ::std::os::raw::c_char,
3771 column_length: usize,
3772 ) -> *const CassColumnMeta;
3773}
3774extern "C" {
3775 #[doc = " Gets the name of the view."]
3776 #[doc = ""]
3777 #[doc = " @cassandra{3.0+}"]
3778 #[doc = ""]
3779 #[doc = " @public @memberof CassMaterializedViewMeta"]
3780 #[doc = ""]
3781 #[doc = " @param[in] view_meta"]
3782 #[doc = " @param[out] name"]
3783 #[doc = " @param[out] name_length"]
3784 pub fn cass_materialized_view_meta_name(
3785 view_meta: *const CassMaterializedViewMeta,
3786 name: *mut *const ::std::os::raw::c_char,
3787 name_length: *mut usize,
3788 );
3789}
3790extern "C" {
3791 #[doc = " Gets the base table of the view."]
3792 #[doc = ""]
3793 #[doc = " @cassandra{3.0+}"]
3794 #[doc = ""]
3795 #[doc = " @public @memberof CassMaterializedViewMeta"]
3796 #[doc = ""]
3797 #[doc = " @param[in] view_meta"]
3798 #[doc = ""]
3799 #[doc = " @return The base table for the view."]
3800 pub fn cass_materialized_view_meta_base_table(
3801 view_meta: *const CassMaterializedViewMeta,
3802 ) -> *const CassTableMeta;
3803}
3804extern "C" {
3805 #[doc = " Gets the total number of columns for the view."]
3806 #[doc = ""]
3807 #[doc = " @cassandra{3.0+}"]
3808 #[doc = ""]
3809 #[doc = " @public @memberof CassMaterializedViewMeta"]
3810 #[doc = ""]
3811 #[doc = " @param[in] view_meta"]
3812 #[doc = " @return The total column count."]
3813 pub fn cass_materialized_view_meta_column_count(
3814 view_meta: *const CassMaterializedViewMeta,
3815 ) -> usize;
3816}
3817extern "C" {
3818 #[doc = " Gets the column metadata for the provided index."]
3819 #[doc = ""]
3820 #[doc = " @cassandra{3.0+}"]
3821 #[doc = ""]
3822 #[doc = " @public @memberof CassMaterializedViewMeta"]
3823 #[doc = ""]
3824 #[doc = " @param[in] view_meta"]
3825 #[doc = " @param[in] index"]
3826 #[doc = " @return The metadata for a column. NULL returned if the index is out of range."]
3827 pub fn cass_materialized_view_meta_column(
3828 view_meta: *const CassMaterializedViewMeta,
3829 index: usize,
3830 ) -> *const CassColumnMeta;
3831}
3832extern "C" {
3833 #[doc = " Gets the number of columns for the view's partition key."]
3834 #[doc = ""]
3835 #[doc = " @cassandra{3.0+}"]
3836 #[doc = ""]
3837 #[doc = " @public @memberof CassMaterializedViewMeta"]
3838 #[doc = ""]
3839 #[doc = " @param[in] view_meta"]
3840 #[doc = " @return The count for the number of columns in the partition key."]
3841 pub fn cass_materialized_view_meta_partition_key_count(
3842 view_meta: *const CassMaterializedViewMeta,
3843 ) -> usize;
3844}
3845extern "C" {
3846 #[doc = " Gets the partition key column metadata for the provided index."]
3847 #[doc = ""]
3848 #[doc = " @cassandra{3.0+}"]
3849 #[doc = ""]
3850 #[doc = " @public @memberof CassMaterializedViewMeta"]
3851 #[doc = ""]
3852 #[doc = " @param[in] view_meta"]
3853 #[doc = " @param[in] index"]
3854 #[doc = " @return The metadata for a column. NULL returned if the index is out of range."]
3855 pub fn cass_materialized_view_meta_partition_key(
3856 view_meta: *const CassMaterializedViewMeta,
3857 index: usize,
3858 ) -> *const CassColumnMeta;
3859}
3860extern "C" {
3861 #[doc = " Gets the number of columns for the view's clustering key."]
3862 #[doc = ""]
3863 #[doc = " @cassandra{3.0+}"]
3864 #[doc = ""]
3865 #[doc = " @public @memberof CassMaterializedViewMeta"]
3866 #[doc = ""]
3867 #[doc = " @param[in] view_meta"]
3868 #[doc = " @return The count for the number of columns in the clustering key."]
3869 pub fn cass_materialized_view_meta_clustering_key_count(
3870 view_meta: *const CassMaterializedViewMeta,
3871 ) -> usize;
3872}
3873extern "C" {
3874 #[doc = " Gets the clustering key column metadata for the provided index."]
3875 #[doc = ""]
3876 #[doc = " @cassandra{3.0+}"]
3877 #[doc = ""]
3878 #[doc = " @public @memberof CassMaterializedViewMeta"]
3879 #[doc = ""]
3880 #[doc = " @param[in] view_meta"]
3881 #[doc = " @param[in] index"]
3882 #[doc = " @return The metadata for a column. NULL returned if the index is out of range."]
3883 pub fn cass_materialized_view_meta_clustering_key(
3884 view_meta: *const CassMaterializedViewMeta,
3885 index: usize,
3886 ) -> *const CassColumnMeta;
3887}
3888extern "C" {
3889 #[doc = " Gets the clustering order column metadata for the provided index."]
3890 #[doc = ""]
3891 #[doc = " @public @memberof CassMaterializedViewMeta"]
3892 #[doc = ""]
3893 #[doc = " @param[in] view_meta"]
3894 #[doc = " @param[in] index"]
3895 #[doc = " @return The clustering order for a column."]
3896 #[doc = " CASS_CLUSTERING_ORDER_NONE returned if the index is out of range."]
3897 #[doc = ""]
3898 #[doc = " @see cass_materialized_view_meta_clustering_key_count()"]
3899 pub fn cass_materialized_view_meta_clustering_key_order(
3900 view_meta: *const CassMaterializedViewMeta,
3901 index: usize,
3902 ) -> CassClusteringOrder;
3903}
3904extern "C" {
3905 #[doc = " Gets a metadata field for the provided name. Metadata fields allow direct"]
3906 #[doc = " access to the column data found in the underlying \"views\" metadata view."]
3907 #[doc = ""]
3908 #[doc = " @cassandra{3.0+}"]
3909 #[doc = ""]
3910 #[doc = " @public @memberof CassMaterializedViewMeta"]
3911 #[doc = ""]
3912 #[doc = " @param[in] view_meta"]
3913 #[doc = " @param[in] name"]
3914 #[doc = " @return A metadata field value. NULL if the field does not exist."]
3915 pub fn cass_materialized_view_meta_field_by_name(
3916 view_meta: *const CassMaterializedViewMeta,
3917 name: *const ::std::os::raw::c_char,
3918 ) -> *const CassValue;
3919}
3920extern "C" {
3921 #[doc = " Same as cass_materialized_view_meta_field_by_name(), but with lengths for string"]
3922 #[doc = " parameters."]
3923 #[doc = ""]
3924 #[doc = " @cassandra{3.0+}"]
3925 #[doc = ""]
3926 #[doc = " @public @memberof CassMaterializedViewMeta"]
3927 #[doc = ""]
3928 #[doc = " @param[in] view_meta"]
3929 #[doc = " @param[in] name"]
3930 #[doc = " @param[in] name_length"]
3931 #[doc = " @return same as cass_materialized_view_meta_field_by_name()"]
3932 #[doc = ""]
3933 #[doc = " @see cass_materialized_view_meta_field_by_name()"]
3934 pub fn cass_materialized_view_meta_field_by_name_n(
3935 view_meta: *const CassMaterializedViewMeta,
3936 name: *const ::std::os::raw::c_char,
3937 name_length: usize,
3938 ) -> *const CassValue;
3939}
3940extern "C" {
3941 #[doc = " Gets the name of the column."]
3942 #[doc = ""]
3943 #[doc = " @public @memberof CassColumnMeta"]
3944 #[doc = ""]
3945 #[doc = " @param[in] column_meta"]
3946 #[doc = " @param[out] name"]
3947 #[doc = " @param[out] name_length"]
3948 pub fn cass_column_meta_name(
3949 column_meta: *const CassColumnMeta,
3950 name: *mut *const ::std::os::raw::c_char,
3951 name_length: *mut usize,
3952 );
3953}
3954extern "C" {
3955 #[doc = " Gets the type of the column."]
3956 #[doc = ""]
3957 #[doc = " @public @memberof CassColumnMeta"]
3958 #[doc = ""]
3959 #[doc = " @param[in] column_meta"]
3960 #[doc = " @return The column's type."]
3961 pub fn cass_column_meta_type(column_meta: *const CassColumnMeta) -> CassColumnType;
3962}
3963extern "C" {
3964 #[doc = " Gets the data type of the column."]
3965 #[doc = ""]
3966 #[doc = " @public @memberof CassColumnMeta"]
3967 #[doc = ""]
3968 #[doc = " @param[in] column_meta"]
3969 #[doc = " @return The column's data type."]
3970 pub fn cass_column_meta_data_type(column_meta: *const CassColumnMeta) -> *const CassDataType;
3971}
3972extern "C" {
3973 #[doc = " Gets a metadata field for the provided name. Metadata fields allow direct"]
3974 #[doc = " access to the column data found in the underlying \"columns\" metadata table."]
3975 #[doc = ""]
3976 #[doc = " @public @memberof CassColumnMeta"]
3977 #[doc = ""]
3978 #[doc = " @param[in] column_meta"]
3979 #[doc = " @param[in] name"]
3980 #[doc = " @return A metadata field value. NULL if the field does not exist."]
3981 pub fn cass_column_meta_field_by_name(
3982 column_meta: *const CassColumnMeta,
3983 name: *const ::std::os::raw::c_char,
3984 ) -> *const CassValue;
3985}
3986extern "C" {
3987 #[doc = " Same as cass_column_meta_field_by_name(), but with lengths for string"]
3988 #[doc = " parameters."]
3989 #[doc = ""]
3990 #[doc = " @public @memberof CassColumnMeta"]
3991 #[doc = ""]
3992 #[doc = " @param[in] column_meta"]
3993 #[doc = " @param[in] name"]
3994 #[doc = " @param[in] name_length"]
3995 #[doc = " @return same as cass_column_meta_field_by_name()"]
3996 #[doc = ""]
3997 #[doc = " @see cass_column_meta_field_by_name()"]
3998 pub fn cass_column_meta_field_by_name_n(
3999 column_meta: *const CassColumnMeta,
4000 name: *const ::std::os::raw::c_char,
4001 name_length: usize,
4002 ) -> *const CassValue;
4003}
4004extern "C" {
4005 #[doc = " Gets the name of the index."]
4006 #[doc = ""]
4007 #[doc = " @public @memberof CassIndexMeta"]
4008 #[doc = ""]
4009 #[doc = " @param[in] index_meta"]
4010 #[doc = " @param[out] name"]
4011 #[doc = " @param[out] name_length"]
4012 pub fn cass_index_meta_name(
4013 index_meta: *const CassIndexMeta,
4014 name: *mut *const ::std::os::raw::c_char,
4015 name_length: *mut usize,
4016 );
4017}
4018extern "C" {
4019 #[doc = " Gets the type of the index."]
4020 #[doc = ""]
4021 #[doc = " @public @memberof CassIndexMeta"]
4022 #[doc = ""]
4023 #[doc = " @param[in] index_meta"]
4024 #[doc = " @return The index's type."]
4025 pub fn cass_index_meta_type(index_meta: *const CassIndexMeta) -> CassIndexType;
4026}
4027extern "C" {
4028 #[doc = " Gets the target of the index."]
4029 #[doc = ""]
4030 #[doc = " @public @memberof CassIndexMeta"]
4031 #[doc = ""]
4032 #[doc = " @param[in] index_meta"]
4033 #[doc = " @param[out] target"]
4034 #[doc = " @param[out] target_length"]
4035 pub fn cass_index_meta_target(
4036 index_meta: *const CassIndexMeta,
4037 target: *mut *const ::std::os::raw::c_char,
4038 target_length: *mut usize,
4039 );
4040}
4041extern "C" {
4042 #[doc = " Gets the options of the index."]
4043 #[doc = ""]
4044 #[doc = " @public @memberof CassIndexMeta"]
4045 #[doc = ""]
4046 #[doc = " @param[in] index_meta"]
4047 #[doc = " @return The index's options."]
4048 pub fn cass_index_meta_options(index_meta: *const CassIndexMeta) -> *const CassValue;
4049}
4050extern "C" {
4051 #[doc = " Gets a metadata field for the provided name. Metadata fields allow direct"]
4052 #[doc = " access to the index data found in the underlying \"indexes\" metadata table."]
4053 #[doc = ""]
4054 #[doc = " @public @memberof CassIndexMeta"]
4055 #[doc = ""]
4056 #[doc = " @param[in] index_meta"]
4057 #[doc = " @param[in] name"]
4058 #[doc = " @return A metadata field value. NULL if the field does not exist."]
4059 pub fn cass_index_meta_field_by_name(
4060 index_meta: *const CassIndexMeta,
4061 name: *const ::std::os::raw::c_char,
4062 ) -> *const CassValue;
4063}
4064extern "C" {
4065 #[doc = " Same as cass_index_meta_field_by_name(), but with lengths for string"]
4066 #[doc = " parameters."]
4067 #[doc = ""]
4068 #[doc = " @public @memberof CassIndexMeta"]
4069 #[doc = ""]
4070 #[doc = " @param[in] index_meta"]
4071 #[doc = " @param[in] name"]
4072 #[doc = " @param[in] name_length"]
4073 #[doc = " @return same as cass_index_meta_field_by_name()"]
4074 #[doc = ""]
4075 #[doc = " @see cass_index_meta_field_by_name()"]
4076 pub fn cass_index_meta_field_by_name_n(
4077 index_meta: *const CassIndexMeta,
4078 name: *const ::std::os::raw::c_char,
4079 name_length: usize,
4080 ) -> *const CassValue;
4081}
4082extern "C" {
4083 #[doc = " Gets the name of the function."]
4084 #[doc = ""]
4085 #[doc = " @cassandra{2.2+}"]
4086 #[doc = ""]
4087 #[doc = " @public @memberof CassFunctionMeta"]
4088 #[doc = ""]
4089 #[doc = " @param[in] function_meta"]
4090 #[doc = " @param[out] name"]
4091 #[doc = " @param[out] name_length"]
4092 pub fn cass_function_meta_name(
4093 function_meta: *const CassFunctionMeta,
4094 name: *mut *const ::std::os::raw::c_char,
4095 name_length: *mut usize,
4096 );
4097}
4098extern "C" {
4099 #[doc = " Gets the full name of the function. The full name includes the"]
4100 #[doc = " function's name and the function's signature:"]
4101 #[doc = " \"name(type1 type2.. typeN)\"."]
4102 #[doc = ""]
4103 #[doc = " @cassandra{2.2+}"]
4104 #[doc = ""]
4105 #[doc = " @public @memberof CassFunctionMeta"]
4106 #[doc = ""]
4107 #[doc = " @param[in] function_meta"]
4108 #[doc = " @param[out] full_name"]
4109 #[doc = " @param[out] full_name_length"]
4110 pub fn cass_function_meta_full_name(
4111 function_meta: *const CassFunctionMeta,
4112 full_name: *mut *const ::std::os::raw::c_char,
4113 full_name_length: *mut usize,
4114 );
4115}
4116extern "C" {
4117 #[doc = " Gets the body of the function."]
4118 #[doc = ""]
4119 #[doc = " @cassandra{2.2+}"]
4120 #[doc = ""]
4121 #[doc = " @public @memberof CassFunctionMeta"]
4122 #[doc = ""]
4123 #[doc = " @param[in] function_meta"]
4124 #[doc = " @param[out] body"]
4125 #[doc = " @param[out] body_length"]
4126 pub fn cass_function_meta_body(
4127 function_meta: *const CassFunctionMeta,
4128 body: *mut *const ::std::os::raw::c_char,
4129 body_length: *mut usize,
4130 );
4131}
4132extern "C" {
4133 #[doc = " Gets the language of the function."]
4134 #[doc = ""]
4135 #[doc = " @cassandra{2.2+}"]
4136 #[doc = ""]
4137 #[doc = " @public @memberof CassFunctionMeta"]
4138 #[doc = ""]
4139 #[doc = " @param[in] function_meta"]
4140 #[doc = " @param[out] language"]
4141 #[doc = " @param[out] language_length"]
4142 pub fn cass_function_meta_language(
4143 function_meta: *const CassFunctionMeta,
4144 language: *mut *const ::std::os::raw::c_char,
4145 language_length: *mut usize,
4146 );
4147}
4148extern "C" {
4149 #[doc = " Gets whether a function is called on \"null\"."]
4150 #[doc = ""]
4151 #[doc = " @cassandra{2.2+}"]
4152 #[doc = ""]
4153 #[doc = " @public @memberof CassFunctionMeta"]
4154 #[doc = ""]
4155 #[doc = " @param[in] function_meta"]
4156 #[doc = " @return cass_true if a function is called on null, otherwise cass_false."]
4157 pub fn cass_function_meta_called_on_null_input(
4158 function_meta: *const CassFunctionMeta,
4159 ) -> cass_bool_t;
4160}
4161extern "C" {
4162 #[doc = " Gets the number of arguments this function takes."]
4163 #[doc = ""]
4164 #[doc = " @cassandra{2.2+}"]
4165 #[doc = ""]
4166 #[doc = " @public @memberof CassFunctionMeta"]
4167 #[doc = ""]
4168 #[doc = " @param[in] function_meta"]
4169 #[doc = " @return The number of arguments."]
4170 pub fn cass_function_meta_argument_count(function_meta: *const CassFunctionMeta) -> usize;
4171}
4172extern "C" {
4173 #[doc = " Gets the function's argument name and type for the provided index."]
4174 #[doc = ""]
4175 #[doc = " @cassandra{2.2+}"]
4176 #[doc = ""]
4177 #[doc = " @public @memberof CassFunctionMeta"]
4178 #[doc = ""]
4179 #[doc = " @param[in] function_meta"]
4180 #[doc = " @param[in] index"]
4181 #[doc = " @param[out] name"]
4182 #[doc = " @param[out] name_length"]
4183 #[doc = " @param[out] type"]
4184 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
4185 pub fn cass_function_meta_argument(
4186 function_meta: *const CassFunctionMeta,
4187 index: usize,
4188 name: *mut *const ::std::os::raw::c_char,
4189 name_length: *mut usize,
4190 type_: *mut *const CassDataType,
4191 ) -> CassError;
4192}
4193extern "C" {
4194 #[doc = " Gets the function's argument and type for the provided name."]
4195 #[doc = ""]
4196 #[doc = " @cassandra{2.2+}"]
4197 #[doc = ""]
4198 #[doc = " @public @memberof CassFunctionMeta"]
4199 #[doc = ""]
4200 #[doc = " @param[in] function_meta"]
4201 #[doc = " @param[in] name"]
4202 #[doc = " @return A data type. NULL if the argument does not exist."]
4203 pub fn cass_function_meta_argument_type_by_name(
4204 function_meta: *const CassFunctionMeta,
4205 name: *const ::std::os::raw::c_char,
4206 ) -> *const CassDataType;
4207}
4208extern "C" {
4209 #[doc = " Same as cass_function_meta_argument_type_by_name(), but with lengths for string"]
4210 #[doc = " parameters."]
4211 #[doc = ""]
4212 #[doc = " @cassandra{2.2+}"]
4213 #[doc = ""]
4214 #[doc = " @public @memberof CassFunctionMeta"]
4215 #[doc = ""]
4216 #[doc = " @param[in] function_meta"]
4217 #[doc = " @param[in] name"]
4218 #[doc = " @param[in] name_length"]
4219 #[doc = " @return same as cass_function_meta_argument_type_by_name()"]
4220 #[doc = ""]
4221 #[doc = " @see cass_function_meta_argument_type_by_name()"]
4222 pub fn cass_function_meta_argument_type_by_name_n(
4223 function_meta: *const CassFunctionMeta,
4224 name: *const ::std::os::raw::c_char,
4225 name_length: usize,
4226 ) -> *const CassDataType;
4227}
4228extern "C" {
4229 #[doc = " Gets the return type of the function."]
4230 #[doc = ""]
4231 #[doc = " @cassandra{2.2+}"]
4232 #[doc = ""]
4233 #[doc = " @public @memberof CassFunctionMeta"]
4234 #[doc = ""]
4235 #[doc = " @param[in] function_meta"]
4236 #[doc = " @return The data type returned by the function."]
4237 pub fn cass_function_meta_return_type(
4238 function_meta: *const CassFunctionMeta,
4239 ) -> *const CassDataType;
4240}
4241extern "C" {
4242 #[doc = " Gets a metadata field for the provided name. Metadata fields allow direct"]
4243 #[doc = " access to the column data found in the underlying \"functions\" metadata table."]
4244 #[doc = ""]
4245 #[doc = " @cassandra{2.2+}"]
4246 #[doc = ""]
4247 #[doc = " @public @memberof CassFunctionMeta"]
4248 #[doc = ""]
4249 #[doc = " @param[in] function_meta"]
4250 #[doc = " @param[in] name"]
4251 #[doc = " @return A metadata field value. NULL if the field does not exist."]
4252 pub fn cass_function_meta_field_by_name(
4253 function_meta: *const CassFunctionMeta,
4254 name: *const ::std::os::raw::c_char,
4255 ) -> *const CassValue;
4256}
4257extern "C" {
4258 #[doc = " Same as cass_function_meta_field_by_name(), but with lengths for string"]
4259 #[doc = " parameters."]
4260 #[doc = ""]
4261 #[doc = " @cassandra{2.2+}"]
4262 #[doc = ""]
4263 #[doc = " @public @memberof CassFunctionMeta"]
4264 #[doc = ""]
4265 #[doc = " @param[in] function_meta"]
4266 #[doc = " @param[in] name"]
4267 #[doc = " @param[in] name_length"]
4268 #[doc = " @return same as cass_function_meta_field_by_name()"]
4269 #[doc = ""]
4270 #[doc = " @see cass_function_meta_field_by_name()"]
4271 pub fn cass_function_meta_field_by_name_n(
4272 function_meta: *const CassFunctionMeta,
4273 name: *const ::std::os::raw::c_char,
4274 name_length: usize,
4275 ) -> *const CassValue;
4276}
4277extern "C" {
4278 #[doc = " Gets the name of the aggregate."]
4279 #[doc = ""]
4280 #[doc = " @cassandra{2.2+}"]
4281 #[doc = ""]
4282 #[doc = " @public @memberof CassAggregateMeta"]
4283 #[doc = ""]
4284 #[doc = " @param[in] aggregate_meta"]
4285 #[doc = " @param[out] name"]
4286 #[doc = " @param[out] name_length"]
4287 pub fn cass_aggregate_meta_name(
4288 aggregate_meta: *const CassAggregateMeta,
4289 name: *mut *const ::std::os::raw::c_char,
4290 name_length: *mut usize,
4291 );
4292}
4293extern "C" {
4294 #[doc = " Gets the full name of the aggregate. The full name includes the"]
4295 #[doc = " aggregate's name and the aggregate's signature:"]
4296 #[doc = " \"name(type1 type2.. typeN)\"."]
4297 #[doc = ""]
4298 #[doc = " @cassandra{2.2+}"]
4299 #[doc = ""]
4300 #[doc = " @public @memberof CassAggregateMeta"]
4301 #[doc = ""]
4302 #[doc = " @param[in] aggregate_meta"]
4303 #[doc = " @param[out] full_name"]
4304 #[doc = " @param[out] full_name_length"]
4305 pub fn cass_aggregate_meta_full_name(
4306 aggregate_meta: *const CassAggregateMeta,
4307 full_name: *mut *const ::std::os::raw::c_char,
4308 full_name_length: *mut usize,
4309 );
4310}
4311extern "C" {
4312 #[doc = " Gets the number of arguments this aggregate takes."]
4313 #[doc = ""]
4314 #[doc = " @cassandra{2.2+}"]
4315 #[doc = ""]
4316 #[doc = " @public @memberof CassAggregateMeta"]
4317 #[doc = ""]
4318 #[doc = " @param[in] aggregate_meta"]
4319 #[doc = " @return The number of arguments."]
4320 pub fn cass_aggregate_meta_argument_count(aggregate_meta: *const CassAggregateMeta) -> usize;
4321}
4322extern "C" {
4323 #[doc = " Gets the aggregate's argument type for the provided index."]
4324 #[doc = ""]
4325 #[doc = " @cassandra{2.2+}"]
4326 #[doc = ""]
4327 #[doc = " @public @memberof CassAggregateMeta"]
4328 #[doc = ""]
4329 #[doc = " @param[in] aggregate_meta"]
4330 #[doc = " @param[in] index"]
4331 #[doc = " @return The data type for argument. NULL returned if the index is out of range."]
4332 pub fn cass_aggregate_meta_argument_type(
4333 aggregate_meta: *const CassAggregateMeta,
4334 index: usize,
4335 ) -> *const CassDataType;
4336}
4337extern "C" {
4338 #[doc = " Gets the return type of the aggregate."]
4339 #[doc = ""]
4340 #[doc = " @cassandra{2.2+}"]
4341 #[doc = ""]
4342 #[doc = " @public @memberof CassAggregateMeta"]
4343 #[doc = ""]
4344 #[doc = " @param[in] aggregate_meta"]
4345 #[doc = " @return The data type returned by the aggregate."]
4346 pub fn cass_aggregate_meta_return_type(
4347 aggregate_meta: *const CassAggregateMeta,
4348 ) -> *const CassDataType;
4349}
4350extern "C" {
4351 #[doc = " Gets the state type of the aggregate."]
4352 #[doc = ""]
4353 #[doc = " @cassandra{2.2+}"]
4354 #[doc = ""]
4355 #[doc = " @public @memberof CassAggregateMeta"]
4356 #[doc = ""]
4357 #[doc = " @param[in] aggregate_meta"]
4358 #[doc = " @return The data type of the aggregate's state."]
4359 pub fn cass_aggregate_meta_state_type(
4360 aggregate_meta: *const CassAggregateMeta,
4361 ) -> *const CassDataType;
4362}
4363extern "C" {
4364 #[doc = " Gets the function metadata for the aggregate's state function."]
4365 #[doc = ""]
4366 #[doc = " @cassandra{2.2+}"]
4367 #[doc = ""]
4368 #[doc = " @public @memberof CassAggregateMeta"]
4369 #[doc = ""]
4370 #[doc = " @param[in] aggregate_meta"]
4371 #[doc = " @return The function metadata for the state function."]
4372 pub fn cass_aggregate_meta_state_func(
4373 aggregate_meta: *const CassAggregateMeta,
4374 ) -> *const CassFunctionMeta;
4375}
4376extern "C" {
4377 #[doc = " Gets the function metadata for the aggregates's final function."]
4378 #[doc = ""]
4379 #[doc = " @cassandra{2.2+}"]
4380 #[doc = ""]
4381 #[doc = " @public @memberof CassAggregateMeta"]
4382 #[doc = ""]
4383 #[doc = " @param[in] aggregate_meta"]
4384 #[doc = " @return The function metadata for the final function."]
4385 pub fn cass_aggregate_meta_final_func(
4386 aggregate_meta: *const CassAggregateMeta,
4387 ) -> *const CassFunctionMeta;
4388}
4389extern "C" {
4390 #[doc = " Gets the initial condition value for the aggregate."]
4391 #[doc = ""]
4392 #[doc = " @cassandra{2.2+}"]
4393 #[doc = ""]
4394 #[doc = " <b>Note:</b> The value of the initial condition will always be"]
4395 #[doc = " a \"varchar\" type for Cassandra 3.0+."]
4396 #[doc = ""]
4397 #[doc = " @public @memberof CassAggregateMeta"]
4398 #[doc = ""]
4399 #[doc = " @param[in] aggregate_meta"]
4400 #[doc = " @return The value of the initial condition."]
4401 pub fn cass_aggregate_meta_init_cond(
4402 aggregate_meta: *const CassAggregateMeta,
4403 ) -> *const CassValue;
4404}
4405extern "C" {
4406 #[doc = " Gets a metadata field for the provided name. Metadata fields allow direct"]
4407 #[doc = " access to the column data found in the underlying \"aggregates\" metadata table."]
4408 #[doc = ""]
4409 #[doc = " @cassandra{2.2+}"]
4410 #[doc = ""]
4411 #[doc = " @public @memberof CassAggregateMeta"]
4412 #[doc = ""]
4413 #[doc = " @param[in] aggregate_meta"]
4414 #[doc = " @param[in] name"]
4415 #[doc = " @return A metadata field value. NULL if the field does not exist."]
4416 pub fn cass_aggregate_meta_field_by_name(
4417 aggregate_meta: *const CassAggregateMeta,
4418 name: *const ::std::os::raw::c_char,
4419 ) -> *const CassValue;
4420}
4421extern "C" {
4422 #[doc = " Same as cass_aggregate_meta_field_by_name(), but with lengths for string"]
4423 #[doc = " parameters."]
4424 #[doc = ""]
4425 #[doc = " @cassandra{2.2+}"]
4426 #[doc = ""]
4427 #[doc = " @public @memberof CassAggregateMeta"]
4428 #[doc = ""]
4429 #[doc = " @param[in] aggregate_meta"]
4430 #[doc = " @param[in] name"]
4431 #[doc = " @param[in] name_length"]
4432 #[doc = " @return same as cass_aggregate_meta_field_by_name()"]
4433 #[doc = ""]
4434 #[doc = " @see cass_aggregate_meta_field_by_name()"]
4435 pub fn cass_aggregate_meta_field_by_name_n(
4436 aggregate_meta: *const CassAggregateMeta,
4437 name: *const ::std::os::raw::c_char,
4438 name_length: usize,
4439 ) -> *const CassValue;
4440}
4441extern "C" {
4442 #[doc = " Creates a new SSL context."]
4443 #[doc = ""]
4444 #[doc = " @public @memberof CassSsl"]
4445 #[doc = ""]
4446 #[doc = " @return Returns a SSL context that must be freed."]
4447 #[doc = ""]
4448 #[doc = " @see cass_ssl_free()"]
4449 pub fn cass_ssl_new() -> *mut CassSsl;
4450}
4451extern "C" {
4452 #[doc = " Creates a new SSL context <b>without</b> initializing the underlying library"]
4453 #[doc = " implementation. The integrating application is responsible for"]
4454 #[doc = " initializing the underlying SSL implementation. The driver uses the SSL"]
4455 #[doc = " implmentation from several threads concurrently so it's important that it's"]
4456 #[doc = " properly setup for multithreaded use e.g. lock callbacks for OpenSSL."]
4457 #[doc = ""]
4458 #[doc = " <b>Important:</b> The SSL library must be initialized before calling this"]
4459 #[doc = " function."]
4460 #[doc = ""]
4461 #[doc = " When using OpenSSL the following components need to be initialized:"]
4462 #[doc = ""]
4463 #[doc = " SSL_library_init();"]
4464 #[doc = " SSL_load_error_strings();"]
4465 #[doc = " OpenSSL_add_all_algorithms();"]
4466 #[doc = ""]
4467 #[doc = " The following thread-safety callbacks also need to be set:"]
4468 #[doc = ""]
4469 #[doc = " CRYPTO_set_locking_callback(...);"]
4470 #[doc = " CRYPTO_set_id_callback(...);"]
4471 #[doc = ""]
4472 #[doc = " @public @memberof CassSsl"]
4473 #[doc = ""]
4474 #[doc = " @return Returns a SSL context that must be freed."]
4475 #[doc = ""]
4476 #[doc = " @see cass_ssl_new()"]
4477 #[doc = " @see cass_ssl_free()"]
4478 pub fn cass_ssl_new_no_lib_init() -> *mut CassSsl;
4479}
4480extern "C" {
4481 #[doc = " Frees a SSL context instance."]
4482 #[doc = ""]
4483 #[doc = " @public @memberof CassSsl"]
4484 #[doc = ""]
4485 #[doc = " @param[in] ssl"]
4486 pub fn cass_ssl_free(ssl: *mut CassSsl);
4487}
4488extern "C" {
4489 #[doc = " Adds a trusted certificate. This is used to verify"]
4490 #[doc = " the peer's certificate."]
4491 #[doc = ""]
4492 #[doc = " @public @memberof CassSsl"]
4493 #[doc = ""]
4494 #[doc = " @param[in] ssl"]
4495 #[doc = " @param[in] cert PEM formatted certificate string"]
4496 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
4497 pub fn cass_ssl_add_trusted_cert(
4498 ssl: *mut CassSsl,
4499 cert: *const ::std::os::raw::c_char,
4500 ) -> CassError;
4501}
4502extern "C" {
4503 #[doc = " Same as cass_ssl_add_trusted_cert(), but with lengths for string"]
4504 #[doc = " parameters."]
4505 #[doc = ""]
4506 #[doc = " @public @memberof CassSsl"]
4507 #[doc = ""]
4508 #[doc = " @param[in] ssl"]
4509 #[doc = " @param[in] cert"]
4510 #[doc = " @param[in] cert_length"]
4511 #[doc = " @return same as cass_ssl_add_trusted_cert()"]
4512 #[doc = ""]
4513 #[doc = " @see cass_ssl_add_trusted_cert()"]
4514 pub fn cass_ssl_add_trusted_cert_n(
4515 ssl: *mut CassSsl,
4516 cert: *const ::std::os::raw::c_char,
4517 cert_length: usize,
4518 ) -> CassError;
4519}
4520extern "C" {
4521 #[doc = " Sets verification performed on the peer's certificate."]
4522 #[doc = ""]
4523 #[doc = " CASS_SSL_VERIFY_NONE - No verification is performed"]
4524 #[doc = " CASS_SSL_VERIFY_PEER_CERT - Certificate is present and valid"]
4525 #[doc = " CASS_SSL_VERIFY_PEER_IDENTITY - IP address matches the certificate's"]
4526 #[doc = " common name or one of its subject alternative names. This implies the"]
4527 #[doc = " certificate is also present."]
4528 #[doc = " CASS_SSL_VERIFY_PEER_IDENTITY_DNS - Hostname matches the certificate's"]
4529 #[doc = " common name or one of its subject alternative names. This implies the"]
4530 #[doc = " certificate is also present. Hostname resolution must also be enabled."]
4531 #[doc = ""]
4532 #[doc = " <b>Default:</b> CASS_SSL_VERIFY_PEER_CERT"]
4533 #[doc = ""]
4534 #[doc = " @public @memberof CassSsl"]
4535 #[doc = ""]
4536 #[doc = " @param[in] ssl"]
4537 #[doc = " @param[in] flags"]
4538 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
4539 #[doc = ""]
4540 #[doc = " @see cass_cluster_set_use_hostname_resolution()"]
4541 pub fn cass_ssl_set_verify_flags(ssl: *mut CassSsl, flags: ::std::os::raw::c_int);
4542}
4543extern "C" {
4544 #[doc = " Set client-side certificate chain. This is used to authenticate"]
4545 #[doc = " the client on the server-side. This should contain the entire"]
4546 #[doc = " Certificate chain starting with the certificate itself."]
4547 #[doc = ""]
4548 #[doc = " @public @memberof CassSsl"]
4549 #[doc = ""]
4550 #[doc = " @param[in] ssl"]
4551 #[doc = " @param[in] cert PEM formatted certificate string"]
4552 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
4553 pub fn cass_ssl_set_cert(ssl: *mut CassSsl, cert: *const ::std::os::raw::c_char) -> CassError;
4554}
4555extern "C" {
4556 #[doc = " Same as cass_ssl_set_cert(), but with lengths for string"]
4557 #[doc = " parameters."]
4558 #[doc = ""]
4559 #[doc = " @public @memberof CassSsl"]
4560 #[doc = ""]
4561 #[doc = " @param[in] ssl"]
4562 #[doc = " @param[in] cert"]
4563 #[doc = " @param[in] cert_length"]
4564 #[doc = " @return same as cass_ssl_set_cert()"]
4565 #[doc = ""]
4566 #[doc = " @see cass_ssl_set_cert()"]
4567 pub fn cass_ssl_set_cert_n(
4568 ssl: *mut CassSsl,
4569 cert: *const ::std::os::raw::c_char,
4570 cert_length: usize,
4571 ) -> CassError;
4572}
4573extern "C" {
4574 #[doc = " Set client-side private key. This is used to authenticate"]
4575 #[doc = " the client on the server-side."]
4576 #[doc = ""]
4577 #[doc = " @public @memberof CassSsl"]
4578 #[doc = ""]
4579 #[doc = " @param[in] ssl"]
4580 #[doc = " @param[in] key PEM formatted key string"]
4581 #[doc = " @param[in] password used to decrypt key"]
4582 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
4583 pub fn cass_ssl_set_private_key(
4584 ssl: *mut CassSsl,
4585 key: *const ::std::os::raw::c_char,
4586 password: *const ::std::os::raw::c_char,
4587 ) -> CassError;
4588}
4589extern "C" {
4590 #[doc = " Same as cass_ssl_set_private_key(), but with lengths for string"]
4591 #[doc = " parameters."]
4592 #[doc = ""]
4593 #[doc = " @public @memberof CassSsl"]
4594 #[doc = ""]
4595 #[doc = " @param[in] ssl"]
4596 #[doc = " @param[in] key"]
4597 #[doc = " @param[in] key_length"]
4598 #[doc = " @param[in] password"]
4599 #[doc = " @param[in] password_length"]
4600 #[doc = " @return same as cass_ssl_set_private_key()"]
4601 #[doc = ""]
4602 #[doc = " @see cass_ssl_set_private_key()"]
4603 pub fn cass_ssl_set_private_key_n(
4604 ssl: *mut CassSsl,
4605 key: *const ::std::os::raw::c_char,
4606 key_length: usize,
4607 password: *const ::std::os::raw::c_char,
4608 password_length: usize,
4609 ) -> CassError;
4610}
4611extern "C" {
4612 #[doc = " Gets the IP address of the host being authenticated."]
4613 #[doc = ""]
4614 #[doc = " @param[in] auth"]
4615 #[doc = " @param[out] address"]
4616 #[doc = ""]
4617 #[doc = " @public @memberof CassAuthenticator"]
4618 pub fn cass_authenticator_address(auth: *const CassAuthenticator, address: *mut CassInet);
4619}
4620extern "C" {
4621 #[doc = " Gets the hostname of the host being authenticated."]
4622 #[doc = ""]
4623 #[doc = " @public @memberof CassAuthenticator"]
4624 #[doc = ""]
4625 #[doc = " @param[in] auth"]
4626 #[doc = " @param[out] length"]
4627 #[doc = " @return A null-terminated string."]
4628 pub fn cass_authenticator_hostname(
4629 auth: *const CassAuthenticator,
4630 length: *mut usize,
4631 ) -> *const ::std::os::raw::c_char;
4632}
4633extern "C" {
4634 #[doc = " Gets the class name for the server-side IAuthentication implementation."]
4635 #[doc = ""]
4636 #[doc = " @public @memberof CassAuthenticator"]
4637 #[doc = ""]
4638 #[doc = " @param[in] auth"]
4639 #[doc = " @param[out] length"]
4640 #[doc = " @return A null-terminated string."]
4641 pub fn cass_authenticator_class_name(
4642 auth: *const CassAuthenticator,
4643 length: *mut usize,
4644 ) -> *const ::std::os::raw::c_char;
4645}
4646extern "C" {
4647 #[doc = " Gets the user data created during the authenticator exchange. This"]
4648 #[doc = " is set using cass_authenticator_set_exchange_data()."]
4649 #[doc = ""]
4650 #[doc = " @public @memberof CassAuthenticator"]
4651 #[doc = ""]
4652 #[doc = " @param[in] auth"]
4653 #[doc = " @return User specified exchange data previously set by"]
4654 #[doc = " cass_authenticator_set_exchange_data()."]
4655 #[doc = ""]
4656 #[doc = " @see cass_authenticator_set_exchange_data()"]
4657 pub fn cass_authenticator_exchange_data(
4658 auth: *mut CassAuthenticator,
4659 ) -> *mut ::std::os::raw::c_void;
4660}
4661extern "C" {
4662 #[doc = " Sets the user data to be used during the authenticator exchange."]
4663 #[doc = ""]
4664 #[doc = " @public @memberof CassAuthenticator"]
4665 #[doc = ""]
4666 #[doc = " @param[in] auth"]
4667 #[doc = " @param[in] exchange_data"]
4668 #[doc = ""]
4669 #[doc = " @see cass_authenticator_exchange_data()"]
4670 pub fn cass_authenticator_set_exchange_data(
4671 auth: *mut CassAuthenticator,
4672 exchange_data: *mut ::std::os::raw::c_void,
4673 );
4674}
4675extern "C" {
4676 #[doc = " Gets a response token buffer of the provided size."]
4677 #[doc = ""]
4678 #[doc = " @public @memberof CassAuthenticator"]
4679 #[doc = ""]
4680 #[doc = " @param[in] auth"]
4681 #[doc = " @param[in] size"]
4682 #[doc = " @return A buffer to copy the response token."]
4683 pub fn cass_authenticator_response(
4684 auth: *mut CassAuthenticator,
4685 size: usize,
4686 ) -> *mut ::std::os::raw::c_char;
4687}
4688extern "C" {
4689 #[doc = " Sets the response token."]
4690 #[doc = ""]
4691 #[doc = " @public @memberof CassAuthenticator"]
4692 #[doc = ""]
4693 #[doc = " @param[in] auth"]
4694 #[doc = " @param[in] response"]
4695 #[doc = " @param[in] response_size"]
4696 pub fn cass_authenticator_set_response(
4697 auth: *mut CassAuthenticator,
4698 response: *const ::std::os::raw::c_char,
4699 response_size: usize,
4700 );
4701}
4702extern "C" {
4703 #[doc = " Sets an error for the authenticator exchange."]
4704 #[doc = ""]
4705 #[doc = " @public @memberof CassAuthenticator"]
4706 #[doc = ""]
4707 #[doc = " @param[in] auth"]
4708 #[doc = " @param[in] message"]
4709 pub fn cass_authenticator_set_error(
4710 auth: *mut CassAuthenticator,
4711 message: *const ::std::os::raw::c_char,
4712 );
4713}
4714extern "C" {
4715 #[doc = " Same as cass_authenticator_set_error(), but with lengths for string"]
4716 #[doc = " parameters."]
4717 #[doc = ""]
4718 #[doc = " @public @memberof CassAuthenticator"]
4719 #[doc = ""]
4720 #[doc = " @param[in] auth"]
4721 #[doc = " @param[in] message"]
4722 #[doc = " @param[in] message_length"]
4723 #[doc = ""]
4724 #[doc = " @see cass_authenticator_set_error()"]
4725 pub fn cass_authenticator_set_error_n(
4726 auth: *mut CassAuthenticator,
4727 message: *const ::std::os::raw::c_char,
4728 message_length: usize,
4729 );
4730}
4731extern "C" {
4732 #[doc = " Frees a future instance. A future can be freed anytime."]
4733 #[doc = ""]
4734 #[doc = " @public @memberof CassFuture"]
4735 pub fn cass_future_free(future: *mut CassFuture);
4736}
4737extern "C" {
4738 #[doc = " Sets a callback that is called when a future is set"]
4739 #[doc = ""]
4740 #[doc = " @public @memberof CassFuture"]
4741 #[doc = ""]
4742 #[doc = " @param[in] future"]
4743 #[doc = " @param[in] callback"]
4744 #[doc = " @param[in] data"]
4745 #[doc = " @return CASS_OK if successful, otherwise an error occurred"]
4746 pub fn cass_future_set_callback(
4747 future: *mut CassFuture,
4748 callback: CassFutureCallback,
4749 data: *mut ::std::os::raw::c_void,
4750 ) -> CassError;
4751}
4752extern "C" {
4753 #[doc = " Gets the set status of the future."]
4754 #[doc = ""]
4755 #[doc = " @public @memberof CassFuture"]
4756 #[doc = ""]
4757 #[doc = " @param[in] future"]
4758 #[doc = " @return true if set"]
4759 pub fn cass_future_ready(future: *mut CassFuture) -> cass_bool_t;
4760}
4761extern "C" {
4762 #[doc = " Wait for the future to be set with either a result or error."]
4763 #[doc = ""]
4764 #[doc = " <b>Important:</b> Do not wait in a future callback. Waiting in a future"]
4765 #[doc = " callback will cause a deadlock."]
4766 #[doc = ""]
4767 #[doc = " @public @memberof CassFuture"]
4768 #[doc = ""]
4769 #[doc = " @param[in] future"]
4770 pub fn cass_future_wait(future: *mut CassFuture);
4771}
4772extern "C" {
4773 #[doc = " Wait for the future to be set or timeout."]
4774 #[doc = ""]
4775 #[doc = " @public @memberof CassFuture"]
4776 #[doc = ""]
4777 #[doc = " @param[in] future"]
4778 #[doc = " @param[in] timeout_us wait time in microseconds"]
4779 #[doc = " @return false if returned due to timeout"]
4780 pub fn cass_future_wait_timed(
4781 future: *mut CassFuture,
4782 timeout_us: cass_duration_t,
4783 ) -> cass_bool_t;
4784}
4785extern "C" {
4786 #[doc = " Gets the result of a successful future. If the future is not ready this method will"]
4787 #[doc = " wait for the future to be set."]
4788 #[doc = ""]
4789 #[doc = " @public @memberof CassFuture"]
4790 #[doc = ""]
4791 #[doc = " @param[in] future"]
4792 #[doc = " @return CassResult instance if successful, otherwise NULL for error. The return instance"]
4793 #[doc = " must be freed using cass_result_free()."]
4794 #[doc = ""]
4795 #[doc = " @see cass_session_execute() and cass_session_execute_batch()"]
4796 pub fn cass_future_get_result(future: *mut CassFuture) -> *const CassResult;
4797}
4798extern "C" {
4799 #[doc = " Gets the error result from a future that failed as a result of a server error. If the"]
4800 #[doc = " future is not ready this method will wait for the future to be set."]
4801 #[doc = ""]
4802 #[doc = " @public @memberof CassFuture"]
4803 #[doc = ""]
4804 #[doc = " @param[in] future"]
4805 #[doc = " @return CassErrorResult instance if the request failed with a server error,"]
4806 #[doc = " otherwise NULL if the request was successful or the failure was not caused by"]
4807 #[doc = " a server error. The return instance must be freed using cass_error_result_free()."]
4808 #[doc = ""]
4809 #[doc = " @see cass_session_execute() and cass_session_execute_batch()"]
4810 pub fn cass_future_get_error_result(future: *mut CassFuture) -> *const CassErrorResult;
4811}
4812extern "C" {
4813 #[doc = " Gets the result of a successful future. If the future is not ready this method will"]
4814 #[doc = " wait for the future to be set. The first successful call consumes the future, all"]
4815 #[doc = " subsequent calls will return NULL."]
4816 #[doc = ""]
4817 #[doc = " @public @memberof CassFuture"]
4818 #[doc = ""]
4819 #[doc = " @param[in] future"]
4820 #[doc = " @return CassPrepared instance if successful, otherwise NULL for error. The return instance"]
4821 #[doc = " must be freed using cass_prepared_free()."]
4822 #[doc = ""]
4823 #[doc = " @see cass_session_prepare()"]
4824 pub fn cass_future_get_prepared(future: *mut CassFuture) -> *const CassPrepared;
4825}
4826extern "C" {
4827 #[doc = " Gets the error code from future. If the future is not ready this method will"]
4828 #[doc = " wait for the future to be set."]
4829 #[doc = ""]
4830 #[doc = " @public @memberof CassFuture"]
4831 #[doc = ""]
4832 #[doc = " @param[in] future"]
4833 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
4834 #[doc = ""]
4835 #[doc = " @see cass_error_desc()"]
4836 pub fn cass_future_error_code(future: *mut CassFuture) -> CassError;
4837}
4838extern "C" {
4839 #[doc = " Gets the error message from future. If the future is not ready this method will"]
4840 #[doc = " wait for the future to be set."]
4841 #[doc = ""]
4842 #[doc = " @public @memberof CassFuture"]
4843 #[doc = ""]
4844 #[doc = " @param[in] future"]
4845 #[doc = " @param[out] message Empty string returned if successful, otherwise"]
4846 #[doc = " a message describing the error is returned."]
4847 #[doc = " @param[out] message_length"]
4848 pub fn cass_future_error_message(
4849 future: *mut CassFuture,
4850 message: *mut *const ::std::os::raw::c_char,
4851 message_length: *mut usize,
4852 );
4853}
4854extern "C" {
4855 #[doc = " Gets the tracing ID associated with the request."]
4856 #[doc = ""]
4857 #[doc = " @public @memberof CassFuture"]
4858 #[doc = ""]
4859 #[doc = " @param[in] future"]
4860 #[doc = " @param[out] tracing_id"]
4861 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
4862 pub fn cass_future_tracing_id(future: *mut CassFuture, tracing_id: *mut CassUuid) -> CassError;
4863}
4864extern "C" {
4865 #[doc = " Gets a the number of custom payload items from a response future. If the future is not"]
4866 #[doc = " ready this method will wait for the future to be set."]
4867 #[doc = ""]
4868 #[doc = " @cassandra{2.2+}"]
4869 #[doc = ""]
4870 #[doc = " @public @memberof CassFuture"]
4871 #[doc = ""]
4872 #[doc = " @param[in] future"]
4873 #[doc = " @return the number of custom payload items."]
4874 pub fn cass_future_custom_payload_item_count(future: *mut CassFuture) -> usize;
4875}
4876extern "C" {
4877 #[doc = " Gets a custom payload item from a response future at the specified index. If the future is not"]
4878 #[doc = " ready this method will wait for the future to be set."]
4879 #[doc = ""]
4880 #[doc = " @cassandra{2.2+}"]
4881 #[doc = ""]
4882 #[doc = " @public @memberof CassFuture"]
4883 #[doc = ""]
4884 #[doc = " @param[in] future"]
4885 #[doc = " @param[in] index"]
4886 #[doc = " @param[out] name"]
4887 #[doc = " @param[out] name_length"]
4888 #[doc = " @param[out] value"]
4889 #[doc = " @param[out] value_size"]
4890 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
4891 pub fn cass_future_custom_payload_item(
4892 future: *mut CassFuture,
4893 index: usize,
4894 name: *mut *const ::std::os::raw::c_char,
4895 name_length: *mut usize,
4896 value: *mut *const cass_byte_t,
4897 value_size: *mut usize,
4898 ) -> CassError;
4899}
4900extern "C" {
4901 #[doc = " Gets the node that acted as coordinator for this query. If the future is not"]
4902 #[doc = " ready this method will wait for the future to be set."]
4903 #[doc = ""]
4904 #[doc = " @public @memberof CassFuture"]
4905 #[doc = ""]
4906 #[doc = " @param future"]
4907 #[doc = " @return The coordinator node that handled the query. The lifetime of this"]
4908 #[doc = " object is the same as the result object it came from. NULL can be returned"]
4909 #[doc = " if the future is not a response future or if an error occurs before a"]
4910 #[doc = " coordinator responds."]
4911 #[doc = ""]
4912 #[doc = " @see cass_statement_set_node()"]
4913 pub fn cass_future_coordinator(future: *mut CassFuture) -> *const CassNode;
4914}
4915extern "C" {
4916 #[doc = " Creates a new query statement."]
4917 #[doc = ""]
4918 #[doc = " @public @memberof CassStatement"]
4919 #[doc = ""]
4920 #[doc = " @param[in] query The query is copied into the statement object; the"]
4921 #[doc = " memory pointed to by this parameter can be freed after this call."]
4922 #[doc = " @param[in] parameter_count The number of bound parameters."]
4923 #[doc = " @return Returns a statement that must be freed."]
4924 #[doc = ""]
4925 #[doc = " @see cass_statement_free()"]
4926 pub fn cass_statement_new(
4927 query: *const ::std::os::raw::c_char,
4928 parameter_count: usize,
4929 ) -> *mut CassStatement;
4930}
4931extern "C" {
4932 #[doc = " Same as cass_statement_new(), but with lengths for string"]
4933 #[doc = " parameters."]
4934 #[doc = ""]
4935 #[doc = " @public @memberof CassStatement"]
4936 #[doc = ""]
4937 #[doc = " @param[in] query"]
4938 #[doc = " @param[in] query_length"]
4939 #[doc = " @param[in] parameter_count"]
4940 #[doc = " @return same as cass_statement_new()"]
4941 #[doc = ""]
4942 #[doc = " @see cass_statement_new()"]
4943 pub fn cass_statement_new_n(
4944 query: *const ::std::os::raw::c_char,
4945 query_length: usize,
4946 parameter_count: usize,
4947 ) -> *mut CassStatement;
4948}
4949extern "C" {
4950 #[doc = " Clear and/or resize the statement's parameters."]
4951 #[doc = ""]
4952 #[doc = " @public @memberof CassStatement"]
4953 #[doc = ""]
4954 #[doc = " @param[in] statement"]
4955 #[doc = " @param[in] count"]
4956 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
4957 pub fn cass_statement_reset_parameters(
4958 statement: *mut CassStatement,
4959 count: usize,
4960 ) -> CassError;
4961}
4962extern "C" {
4963 #[doc = " Frees a statement instance. Statements can be immediately freed after"]
4964 #[doc = " being prepared, executed or added to a batch."]
4965 #[doc = ""]
4966 #[doc = " @public @memberof CassStatement"]
4967 #[doc = ""]
4968 #[doc = " @param[in] statement"]
4969 pub fn cass_statement_free(statement: *mut CassStatement);
4970}
4971extern "C" {
4972 #[doc = " Adds a key index specifier to this a statement."]
4973 #[doc = " When using token-aware routing, this can be used to tell the driver which"]
4974 #[doc = " parameters within a non-prepared, parameterized statement are part of"]
4975 #[doc = " the partition key."]
4976 #[doc = ""]
4977 #[doc = " Use consecutive calls for composite partition keys."]
4978 #[doc = ""]
4979 #[doc = " This is not necessary for prepared statements, as the key"]
4980 #[doc = " parameters are determined in the metadata processed in the prepare phase."]
4981 #[doc = ""]
4982 #[doc = " @public @memberof CassStatement"]
4983 #[doc = ""]
4984 #[doc = " @param[in] statement"]
4985 #[doc = " @param[in] index"]
4986 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
4987 pub fn cass_statement_add_key_index(statement: *mut CassStatement, index: usize) -> CassError;
4988}
4989extern "C" {
4990 #[doc = " Sets the statement's keyspace. This is used for token-aware routing and when"]
4991 #[doc = " using protocol v5 or greater it also overrides the session's current"]
4992 #[doc = " keyspace for the statement."]
4993 #[doc = ""]
4994 #[doc = " This is not necessary and will not work for bound statements, as the keyspace"]
4995 #[doc = " is determined by the prepared statement metadata."]
4996 #[doc = ""]
4997 #[doc = " @public @memberof CassStatement"]
4998 #[doc = ""]
4999 #[doc = " @param[in] statement"]
5000 #[doc = " @param[in] keyspace"]
5001 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5002 pub fn cass_statement_set_keyspace(
5003 statement: *mut CassStatement,
5004 keyspace: *const ::std::os::raw::c_char,
5005 ) -> CassError;
5006}
5007extern "C" {
5008 #[doc = " Same as cass_statement_set_keyspace(), but with lengths for string"]
5009 #[doc = " parameters."]
5010 #[doc = ""]
5011 #[doc = " @public @memberof CassStatement"]
5012 #[doc = ""]
5013 #[doc = " @param[in] statement"]
5014 #[doc = " @param[in] keyspace"]
5015 #[doc = " @param[in] keyspace_length"]
5016 #[doc = " @return same as cass_statement_set_keyspace()"]
5017 #[doc = ""]
5018 #[doc = " @see cass_statement_set_keyspace()"]
5019 pub fn cass_statement_set_keyspace_n(
5020 statement: *mut CassStatement,
5021 keyspace: *const ::std::os::raw::c_char,
5022 keyspace_length: usize,
5023 ) -> CassError;
5024}
5025extern "C" {
5026 #[doc = " Sets the statement's consistency level."]
5027 #[doc = ""]
5028 #[doc = " <b>Default:</b> CASS_CONSISTENCY_LOCAL_ONE"]
5029 #[doc = ""]
5030 #[doc = " @public @memberof CassStatement"]
5031 #[doc = ""]
5032 #[doc = " @param[in] statement"]
5033 #[doc = " @param[in] consistency"]
5034 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5035 pub fn cass_statement_set_consistency(
5036 statement: *mut CassStatement,
5037 consistency: CassConsistency,
5038 ) -> CassError;
5039}
5040extern "C" {
5041 #[doc = " Sets the statement's serial consistency level."]
5042 #[doc = ""]
5043 #[doc = " @cassandra{2.0+}"]
5044 #[doc = ""]
5045 #[doc = " <b>Default:</b> Not set"]
5046 #[doc = ""]
5047 #[doc = " @public @memberof CassStatement"]
5048 #[doc = ""]
5049 #[doc = " @param[in] statement"]
5050 #[doc = " @param[in] serial_consistency"]
5051 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5052 pub fn cass_statement_set_serial_consistency(
5053 statement: *mut CassStatement,
5054 serial_consistency: CassConsistency,
5055 ) -> CassError;
5056}
5057extern "C" {
5058 #[doc = " Sets the statement's page size."]
5059 #[doc = ""]
5060 #[doc = " @cassandra{2.0+}"]
5061 #[doc = ""]
5062 #[doc = " <b>Default:</b> -1 (Disabled)"]
5063 #[doc = ""]
5064 #[doc = " @public @memberof CassStatement"]
5065 #[doc = ""]
5066 #[doc = " @param[in] statement"]
5067 #[doc = " @param[in] page_size"]
5068 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5069 pub fn cass_statement_set_paging_size(
5070 statement: *mut CassStatement,
5071 page_size: ::std::os::raw::c_int,
5072 ) -> CassError;
5073}
5074extern "C" {
5075 #[doc = " Sets the statement's paging state. This can be used to get the next page of"]
5076 #[doc = " data in a multi-page query."]
5077 #[doc = ""]
5078 #[doc = " @cassandra{2.0+}"]
5079 #[doc = ""]
5080 #[doc = " @public @memberof CassStatement"]
5081 #[doc = ""]
5082 #[doc = " @param[in] statement"]
5083 #[doc = " @param[in] result"]
5084 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5085 pub fn cass_statement_set_paging_state(
5086 statement: *mut CassStatement,
5087 result: *const CassResult,
5088 ) -> CassError;
5089}
5090extern "C" {
5091 #[doc = " Sets the statement's paging state. This can be used to get the next page of"]
5092 #[doc = " data in a multi-page query."]
5093 #[doc = ""]
5094 #[doc = " @cassandra{2.0+}"]
5095 #[doc = ""]
5096 #[doc = " <b>Warning:</b> The paging state should not be exposed to or come from"]
5097 #[doc = " untrusted environments. The paging state could be spoofed and potentially"]
5098 #[doc = " used to gain access to other data."]
5099 #[doc = ""]
5100 #[doc = " @public @memberof CassStatement"]
5101 #[doc = ""]
5102 #[doc = " @param[in] statement"]
5103 #[doc = " @param[in] paging_state"]
5104 #[doc = " @param[in] paging_state_size"]
5105 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5106 #[doc = ""]
5107 #[doc = " @see cass_result_paging_state_token()"]
5108 pub fn cass_statement_set_paging_state_token(
5109 statement: *mut CassStatement,
5110 paging_state: *const ::std::os::raw::c_char,
5111 paging_state_size: usize,
5112 ) -> CassError;
5113}
5114extern "C" {
5115 #[doc = " Sets the statement's timestamp."]
5116 #[doc = ""]
5117 #[doc = " @cassandra{2.1+}"]
5118 #[doc = ""]
5119 #[doc = " @public @memberof CassStatement"]
5120 #[doc = ""]
5121 #[doc = " @param[in] statement"]
5122 #[doc = " @param[in] timestamp"]
5123 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5124 pub fn cass_statement_set_timestamp(
5125 statement: *mut CassStatement,
5126 timestamp: cass_int64_t,
5127 ) -> CassError;
5128}
5129extern "C" {
5130 #[doc = " Sets the statement's timeout for waiting for a response from a node."]
5131 #[doc = ""]
5132 #[doc = " <b>Default:</b> Disabled (use the cluster-level request timeout)"]
5133 #[doc = ""]
5134 #[doc = " @public @memberof CassStatement"]
5135 #[doc = ""]
5136 #[doc = " @param[in] statement"]
5137 #[doc = " @param[in] timeout_ms Request timeout in milliseconds. Use 0 for no timeout"]
5138 #[doc = " or CASS_UINT64_MAX to disable (to use the cluster-level request timeout)."]
5139 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5140 #[doc = ""]
5141 #[doc = " @see cass_cluster_set_request_timeout()"]
5142 pub fn cass_statement_set_request_timeout(
5143 statement: *mut CassStatement,
5144 timeout_ms: cass_uint64_t,
5145 ) -> CassError;
5146}
5147extern "C" {
5148 #[doc = " Sets whether the statement is idempotent. Idempotent statements are able to be"]
5149 #[doc = " automatically retried after timeouts/errors and can be speculatively executed."]
5150 #[doc = ""]
5151 #[doc = " @public @memberof CassStatement"]
5152 #[doc = ""]
5153 #[doc = " @param[in] statement"]
5154 #[doc = " @param[in] is_idempotent"]
5155 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5156 #[doc = ""]
5157 #[doc = " @see cass_cluster_set_constant_speculative_execution_policy()"]
5158 #[doc = " @see cass_execution_profile_set_constant_speculative_execution_policy()"]
5159 pub fn cass_statement_set_is_idempotent(
5160 statement: *mut CassStatement,
5161 is_idempotent: cass_bool_t,
5162 ) -> CassError;
5163}
5164extern "C" {
5165 #[doc = " Sets the statement's retry policy."]
5166 #[doc = ""]
5167 #[doc = " @public @memberof CassStatement"]
5168 #[doc = ""]
5169 #[doc = " @param[in] statement"]
5170 #[doc = " @param[in] retry_policy"]
5171 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5172 pub fn cass_statement_set_retry_policy(
5173 statement: *mut CassStatement,
5174 retry_policy: *mut CassRetryPolicy,
5175 ) -> CassError;
5176}
5177extern "C" {
5178 #[doc = " Sets the statement's custom payload."]
5179 #[doc = ""]
5180 #[doc = " @cassandra{2.2+}"]
5181 #[doc = ""]
5182 #[doc = " @public @memberof CassStatement"]
5183 #[doc = ""]
5184 #[doc = " @param[in] statement"]
5185 #[doc = " @param[in] payload"]
5186 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5187 pub fn cass_statement_set_custom_payload(
5188 statement: *mut CassStatement,
5189 payload: *const CassCustomPayload,
5190 ) -> CassError;
5191}
5192extern "C" {
5193 #[doc = " Sets the execution profile to execute the statement with."]
5194 #[doc = ""]
5195 #[doc = " <b>Note:</b> NULL or empty string will clear execution profile from statement"]
5196 #[doc = ""]
5197 #[doc = " @public @memberof CassStatement"]
5198 #[doc = ""]
5199 #[doc = " @param[in] statement"]
5200 #[doc = " @param[in] name"]
5201 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5202 #[doc = ""]
5203 #[doc = " @see cass_cluster_set_execution_profile()"]
5204 pub fn cass_statement_set_execution_profile(
5205 statement: *mut CassStatement,
5206 name: *const ::std::os::raw::c_char,
5207 ) -> CassError;
5208}
5209extern "C" {
5210 #[doc = " Same as cass_statement_set_execution_profile(), but with lengths for string"]
5211 #[doc = " parameters."]
5212 #[doc = ""]
5213 #[doc = " @public @memberof CassStatement"]
5214 #[doc = ""]
5215 #[doc = " @param[in] statement"]
5216 #[doc = " @param[in] name"]
5217 #[doc = " @param[in] name_length"]
5218 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5219 #[doc = ""]
5220 #[doc = " @see cass_statement_set_execution_profile()"]
5221 pub fn cass_statement_set_execution_profile_n(
5222 statement: *mut CassStatement,
5223 name: *const ::std::os::raw::c_char,
5224 name_length: usize,
5225 ) -> CassError;
5226}
5227extern "C" {
5228 #[doc = " Sets whether the statement should use tracing."]
5229 #[doc = ""]
5230 #[doc = " @cassandra{2.2+}"]
5231 #[doc = ""]
5232 #[doc = " @public @memberof CassStatement"]
5233 #[doc = ""]
5234 #[doc = " @param[in] statement"]
5235 #[doc = " @param[in] enabled"]
5236 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5237 pub fn cass_statement_set_tracing(
5238 statement: *mut CassStatement,
5239 enabled: cass_bool_t,
5240 ) -> CassError;
5241}
5242extern "C" {
5243 #[doc = " Sets a specific host that should run the query."]
5244 #[doc = ""]
5245 #[doc = " In general, this should not be used, but it can be useful in the following"]
5246 #[doc = " situations:"]
5247 #[doc = " * To query node-local tables such as system and virtual tables."]
5248 #[doc = " * To apply a sequence of schema changes where it makes sense for all the"]
5249 #[doc = " changes to be applied on a single node."]
5250 #[doc = ""]
5251 #[doc = " @public @memberof CassStatement"]
5252 #[doc = ""]
5253 #[doc = " @param[in] statement"]
5254 #[doc = " @param[in] host"]
5255 #[doc = " @param[in] port"]
5256 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5257 pub fn cass_statement_set_host(
5258 statement: *mut CassStatement,
5259 host: *const ::std::os::raw::c_char,
5260 port: ::std::os::raw::c_int,
5261 ) -> CassError;
5262}
5263extern "C" {
5264 #[doc = " Same as cass_statement_set_host(), but with lengths for string"]
5265 #[doc = " parameters."]
5266 #[doc = ""]
5267 #[doc = " @public @memberof CassStatement"]
5268 #[doc = ""]
5269 #[doc = " @param[in] statement"]
5270 #[doc = " @param[in] host"]
5271 #[doc = " @param[in] host_length"]
5272 #[doc = " @param[in] port"]
5273 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5274 pub fn cass_statement_set_host_n(
5275 statement: *mut CassStatement,
5276 host: *const ::std::os::raw::c_char,
5277 host_length: usize,
5278 port: ::std::os::raw::c_int,
5279 ) -> CassError;
5280}
5281extern "C" {
5282 #[doc = " Same as cass_statement_set_host(), but with the `CassInet` type"]
5283 #[doc = " for the host instead of a string."]
5284 #[doc = ""]
5285 #[doc = " @public @memberof CassStatement"]
5286 #[doc = ""]
5287 #[doc = " @param[in] statement"]
5288 #[doc = " @param[in] host"]
5289 #[doc = " @param[in] port"]
5290 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5291 pub fn cass_statement_set_host_inet(
5292 statement: *mut CassStatement,
5293 host: *const CassInet,
5294 port: ::std::os::raw::c_int,
5295 ) -> CassError;
5296}
5297extern "C" {
5298 #[doc = " Same as cass_statement_set_host(), but using the `CassNode` type. This can"]
5299 #[doc = " be used to re-query the same coordinator when used with the result of"]
5300 #[doc = " `cass_future_coordinator()`"]
5301 #[doc = ""]
5302 #[doc = " @public @memberof CassStatement"]
5303 #[doc = ""]
5304 #[doc = " @param statement"]
5305 #[doc = " @param address"]
5306 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5307 #[doc = ""]
5308 #[doc = " @see cass_future_coordinator()"]
5309 pub fn cass_statement_set_node(
5310 statement: *mut CassStatement,
5311 node: *const CassNode,
5312 ) -> CassError;
5313}
5314extern "C" {
5315 #[doc = " Binds null to a query or bound statement at the specified index."]
5316 #[doc = ""]
5317 #[doc = " @public @memberof CassStatement"]
5318 #[doc = ""]
5319 #[doc = " @param[in] statement"]
5320 #[doc = " @param[in] index"]
5321 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5322 pub fn cass_statement_bind_null(statement: *mut CassStatement, index: usize) -> CassError;
5323}
5324extern "C" {
5325 #[doc = " Binds a null to all the values with the specified name."]
5326 #[doc = ""]
5327 #[doc = " This can only be used with statements created by"]
5328 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5329 #[doc = ""]
5330 #[doc = " @public @memberof CassStatement"]
5331 #[doc = ""]
5332 #[doc = " @param[in] statement"]
5333 #[doc = " @param[in] name"]
5334 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5335 pub fn cass_statement_bind_null_by_name(
5336 statement: *mut CassStatement,
5337 name: *const ::std::os::raw::c_char,
5338 ) -> CassError;
5339}
5340extern "C" {
5341 #[doc = " Same as cass_statement_bind_null_by_name(), but with lengths for string"]
5342 #[doc = " parameters."]
5343 #[doc = ""]
5344 #[doc = " @public @memberof CassStatement"]
5345 #[doc = ""]
5346 #[doc = " @param[in] statement"]
5347 #[doc = " @param[in] name"]
5348 #[doc = " @param[in] name_length"]
5349 #[doc = " @return same as cass_statement_bind_null_by_name()"]
5350 #[doc = ""]
5351 #[doc = " @see cass_statement_bind_null_by_name()"]
5352 pub fn cass_statement_bind_null_by_name_n(
5353 statement: *mut CassStatement,
5354 name: *const ::std::os::raw::c_char,
5355 name_length: usize,
5356 ) -> CassError;
5357}
5358extern "C" {
5359 #[doc = " Binds a \"tinyint\" to a query or bound statement at the specified index."]
5360 #[doc = ""]
5361 #[doc = " @cassandra{2.2+}"]
5362 #[doc = ""]
5363 #[doc = " @public @memberof CassStatement"]
5364 #[doc = ""]
5365 #[doc = " @param[in] statement"]
5366 #[doc = " @param[in] index"]
5367 #[doc = " @param[in] value"]
5368 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5369 pub fn cass_statement_bind_int8(
5370 statement: *mut CassStatement,
5371 index: usize,
5372 value: cass_int8_t,
5373 ) -> CassError;
5374}
5375extern "C" {
5376 #[doc = " Binds a \"tinyint\" to all the values with the specified name."]
5377 #[doc = ""]
5378 #[doc = " @cassandra{2.2+}"]
5379 #[doc = ""]
5380 #[doc = " @public @memberof CassStatement"]
5381 #[doc = ""]
5382 #[doc = " @param[in] statement"]
5383 #[doc = " @param[in] name"]
5384 #[doc = " @param[in] value"]
5385 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5386 pub fn cass_statement_bind_int8_by_name(
5387 statement: *mut CassStatement,
5388 name: *const ::std::os::raw::c_char,
5389 value: cass_int8_t,
5390 ) -> CassError;
5391}
5392extern "C" {
5393 #[doc = " Same as cass_statement_bind_int8_by_name(), but with lengths for string"]
5394 #[doc = " parameters."]
5395 #[doc = ""]
5396 #[doc = " @cassandra{2.2+}"]
5397 #[doc = ""]
5398 #[doc = " @public @memberof CassStatement"]
5399 #[doc = ""]
5400 #[doc = " @param[in] statement"]
5401 #[doc = " @param[in] name"]
5402 #[doc = " @param[in] name_length"]
5403 #[doc = " @param[in] value"]
5404 #[doc = " @return same as cass_statement_bind_int8_by_name()"]
5405 #[doc = ""]
5406 #[doc = " @see cass_statement_bind_int8_by_name()"]
5407 pub fn cass_statement_bind_int8_by_name_n(
5408 statement: *mut CassStatement,
5409 name: *const ::std::os::raw::c_char,
5410 name_length: usize,
5411 value: cass_int8_t,
5412 ) -> CassError;
5413}
5414extern "C" {
5415 #[doc = " Binds an \"smallint\" to a query or bound statement at the specified index."]
5416 #[doc = ""]
5417 #[doc = " @cassandra{2.2+}"]
5418 #[doc = ""]
5419 #[doc = " @public @memberof CassStatement"]
5420 #[doc = ""]
5421 #[doc = " @param[in] statement"]
5422 #[doc = " @param[in] index"]
5423 #[doc = " @param[in] value"]
5424 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5425 pub fn cass_statement_bind_int16(
5426 statement: *mut CassStatement,
5427 index: usize,
5428 value: cass_int16_t,
5429 ) -> CassError;
5430}
5431extern "C" {
5432 #[doc = " Binds an \"smallint\" to all the values with the specified name."]
5433 #[doc = ""]
5434 #[doc = " @cassandra{2.2+}"]
5435 #[doc = ""]
5436 #[doc = " @public @memberof CassStatement"]
5437 #[doc = ""]
5438 #[doc = " @param[in] statement"]
5439 #[doc = " @param[in] name"]
5440 #[doc = " @param[in] value"]
5441 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5442 pub fn cass_statement_bind_int16_by_name(
5443 statement: *mut CassStatement,
5444 name: *const ::std::os::raw::c_char,
5445 value: cass_int16_t,
5446 ) -> CassError;
5447}
5448extern "C" {
5449 #[doc = " Same as cass_statement_bind_int16_by_name(), but with lengths for string"]
5450 #[doc = " parameters."]
5451 #[doc = ""]
5452 #[doc = " @cassandra{2.2+}"]
5453 #[doc = ""]
5454 #[doc = " @public @memberof CassStatement"]
5455 #[doc = ""]
5456 #[doc = " @param[in] statement"]
5457 #[doc = " @param[in] name"]
5458 #[doc = " @param[in] name_length"]
5459 #[doc = " @param[in] value"]
5460 #[doc = " @return same as cass_statement_bind_int16_by_name()"]
5461 #[doc = ""]
5462 #[doc = " @see cass_statement_bind_int16_by_name()"]
5463 pub fn cass_statement_bind_int16_by_name_n(
5464 statement: *mut CassStatement,
5465 name: *const ::std::os::raw::c_char,
5466 name_length: usize,
5467 value: cass_int16_t,
5468 ) -> CassError;
5469}
5470extern "C" {
5471 #[doc = " Binds an \"int\" to a query or bound statement at the specified index."]
5472 #[doc = ""]
5473 #[doc = " @public @memberof CassStatement"]
5474 #[doc = ""]
5475 #[doc = " @param[in] statement"]
5476 #[doc = " @param[in] index"]
5477 #[doc = " @param[in] value"]
5478 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5479 pub fn cass_statement_bind_int32(
5480 statement: *mut CassStatement,
5481 index: usize,
5482 value: cass_int32_t,
5483 ) -> CassError;
5484}
5485extern "C" {
5486 #[doc = " Binds an \"int\" to all the values with the specified name."]
5487 #[doc = ""]
5488 #[doc = " This can only be used with statements created by"]
5489 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5490 #[doc = ""]
5491 #[doc = " @public @memberof CassStatement"]
5492 #[doc = ""]
5493 #[doc = " @param[in] statement"]
5494 #[doc = " @param[in] name"]
5495 #[doc = " @param[in] value"]
5496 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5497 pub fn cass_statement_bind_int32_by_name(
5498 statement: *mut CassStatement,
5499 name: *const ::std::os::raw::c_char,
5500 value: cass_int32_t,
5501 ) -> CassError;
5502}
5503extern "C" {
5504 #[doc = " Same as cass_statement_bind_int32_by_name(), but with lengths for string"]
5505 #[doc = " parameters."]
5506 #[doc = ""]
5507 #[doc = " @public @memberof CassStatement"]
5508 #[doc = ""]
5509 #[doc = " @param[in] statement"]
5510 #[doc = " @param[in] name"]
5511 #[doc = " @param[in] name_length"]
5512 #[doc = " @param[in] value"]
5513 #[doc = " @return same as cass_statement_bind_int32_by_name()"]
5514 #[doc = ""]
5515 #[doc = " @see cass_statement_bind_int32_by_name()"]
5516 pub fn cass_statement_bind_int32_by_name_n(
5517 statement: *mut CassStatement,
5518 name: *const ::std::os::raw::c_char,
5519 name_length: usize,
5520 value: cass_int32_t,
5521 ) -> CassError;
5522}
5523extern "C" {
5524 #[doc = " Binds a \"date\" to a query or bound statement at the specified index."]
5525 #[doc = ""]
5526 #[doc = " @cassandra{2.2+}"]
5527 #[doc = ""]
5528 #[doc = " @public @memberof CassStatement"]
5529 #[doc = ""]
5530 #[doc = " @param[in] statement"]
5531 #[doc = " @param[in] index"]
5532 #[doc = " @param[in] value"]
5533 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5534 pub fn cass_statement_bind_uint32(
5535 statement: *mut CassStatement,
5536 index: usize,
5537 value: cass_uint32_t,
5538 ) -> CassError;
5539}
5540extern "C" {
5541 #[doc = " Binds a \"date\" to all the values with the specified name."]
5542 #[doc = ""]
5543 #[doc = " @cassandra{2.2+}"]
5544 #[doc = ""]
5545 #[doc = " @public @memberof CassStatement"]
5546 #[doc = ""]
5547 #[doc = " @param[in] statement"]
5548 #[doc = " @param[in] name"]
5549 #[doc = " @param[in] value"]
5550 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5551 pub fn cass_statement_bind_uint32_by_name(
5552 statement: *mut CassStatement,
5553 name: *const ::std::os::raw::c_char,
5554 value: cass_uint32_t,
5555 ) -> CassError;
5556}
5557extern "C" {
5558 #[doc = " Same as cass_statement_bind_uint32_by_name(), but with lengths for string"]
5559 #[doc = " parameters."]
5560 #[doc = ""]
5561 #[doc = " @cassandra{2.2+}"]
5562 #[doc = ""]
5563 #[doc = " @public @memberof CassStatement"]
5564 #[doc = ""]
5565 #[doc = " @param[in] statement"]
5566 #[doc = " @param[in] name"]
5567 #[doc = " @param[in] name_length"]
5568 #[doc = " @param[in] value"]
5569 #[doc = " @return same as cass_statement_bind_uint32_by_name()"]
5570 #[doc = ""]
5571 #[doc = " @see cass_statement_bind_uint32_by_name()"]
5572 pub fn cass_statement_bind_uint32_by_name_n(
5573 statement: *mut CassStatement,
5574 name: *const ::std::os::raw::c_char,
5575 name_length: usize,
5576 value: cass_uint32_t,
5577 ) -> CassError;
5578}
5579extern "C" {
5580 #[doc = " Binds a \"bigint\", \"counter\", \"timestamp\" or \"time\" to a query or"]
5581 #[doc = " bound statement at the specified index."]
5582 #[doc = ""]
5583 #[doc = " @public @memberof CassStatement"]
5584 #[doc = ""]
5585 #[doc = " @param[in] statement"]
5586 #[doc = " @param[in] index"]
5587 #[doc = " @param[in] value"]
5588 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5589 pub fn cass_statement_bind_int64(
5590 statement: *mut CassStatement,
5591 index: usize,
5592 value: cass_int64_t,
5593 ) -> CassError;
5594}
5595extern "C" {
5596 #[doc = " Binds a \"bigint\", \"counter\", \"timestamp\" or \"time\" to all values"]
5597 #[doc = " with the specified name."]
5598 #[doc = ""]
5599 #[doc = " This can only be used with statements created by"]
5600 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5601 #[doc = ""]
5602 #[doc = " @public @memberof CassStatement"]
5603 #[doc = ""]
5604 #[doc = " @param[in] statement"]
5605 #[doc = " @param[in] name"]
5606 #[doc = " @param[in] value"]
5607 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5608 pub fn cass_statement_bind_int64_by_name(
5609 statement: *mut CassStatement,
5610 name: *const ::std::os::raw::c_char,
5611 value: cass_int64_t,
5612 ) -> CassError;
5613}
5614extern "C" {
5615 #[doc = " Same as cass_statement_bind_int64_by_name(), but with lengths for string"]
5616 #[doc = " parameters."]
5617 #[doc = ""]
5618 #[doc = " @public @memberof CassStatement"]
5619 #[doc = ""]
5620 #[doc = " @param[in] statement"]
5621 #[doc = " @param[in] name"]
5622 #[doc = " @param[in] name_length"]
5623 #[doc = " @param[in] value"]
5624 #[doc = " @return same as cass_statement_bind_int64_by_name(0"]
5625 #[doc = ""]
5626 #[doc = " @see cass_statement_bind_int64_by_name()"]
5627 pub fn cass_statement_bind_int64_by_name_n(
5628 statement: *mut CassStatement,
5629 name: *const ::std::os::raw::c_char,
5630 name_length: usize,
5631 value: cass_int64_t,
5632 ) -> CassError;
5633}
5634extern "C" {
5635 #[doc = " Binds a \"float\" to a query or bound statement at the specified index."]
5636 #[doc = ""]
5637 #[doc = " @public @memberof CassStatement"]
5638 #[doc = ""]
5639 #[doc = " @param[in] statement"]
5640 #[doc = " @param[in] index"]
5641 #[doc = " @param[in] value"]
5642 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5643 pub fn cass_statement_bind_float(
5644 statement: *mut CassStatement,
5645 index: usize,
5646 value: cass_float_t,
5647 ) -> CassError;
5648}
5649extern "C" {
5650 #[doc = " Binds a \"float\" to all the values with the specified name."]
5651 #[doc = ""]
5652 #[doc = " This can only be used with statements created by"]
5653 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5654 #[doc = ""]
5655 #[doc = " @public @memberof CassStatement"]
5656 #[doc = ""]
5657 #[doc = " @param[in] statement"]
5658 #[doc = " @param[in] name"]
5659 #[doc = " @param[in] value"]
5660 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5661 pub fn cass_statement_bind_float_by_name(
5662 statement: *mut CassStatement,
5663 name: *const ::std::os::raw::c_char,
5664 value: cass_float_t,
5665 ) -> CassError;
5666}
5667extern "C" {
5668 #[doc = " Same as cass_statement_bind_float_by_name(), but with lengths for string"]
5669 #[doc = " parameters."]
5670 #[doc = ""]
5671 #[doc = " @public @memberof CassStatement"]
5672 #[doc = ""]
5673 #[doc = " @param[in] statement"]
5674 #[doc = " @param[in] name"]
5675 #[doc = " @param[in] name_length"]
5676 #[doc = " @param[in] value"]
5677 #[doc = " @return same as cass_statement_bind_float_by_name()"]
5678 #[doc = ""]
5679 #[doc = " @see cass_statement_bind_float_by_name()"]
5680 pub fn cass_statement_bind_float_by_name_n(
5681 statement: *mut CassStatement,
5682 name: *const ::std::os::raw::c_char,
5683 name_length: usize,
5684 value: cass_float_t,
5685 ) -> CassError;
5686}
5687extern "C" {
5688 #[doc = " Binds a \"double\" to a query or bound statement at the specified index."]
5689 #[doc = ""]
5690 #[doc = " @public @memberof CassStatement"]
5691 #[doc = ""]
5692 #[doc = " @param[in] statement"]
5693 #[doc = " @param[in] index"]
5694 #[doc = " @param[in] value"]
5695 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5696 pub fn cass_statement_bind_double(
5697 statement: *mut CassStatement,
5698 index: usize,
5699 value: cass_double_t,
5700 ) -> CassError;
5701}
5702extern "C" {
5703 #[doc = " Binds a \"double\" to all the values with the specified name."]
5704 #[doc = ""]
5705 #[doc = " This can only be used with statements created by"]
5706 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5707 #[doc = ""]
5708 #[doc = " @public @memberof CassStatement"]
5709 #[doc = ""]
5710 #[doc = " @param[in] statement"]
5711 #[doc = " @param[in] name"]
5712 #[doc = " @param[in] value"]
5713 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5714 pub fn cass_statement_bind_double_by_name(
5715 statement: *mut CassStatement,
5716 name: *const ::std::os::raw::c_char,
5717 value: cass_double_t,
5718 ) -> CassError;
5719}
5720extern "C" {
5721 #[doc = " Same as cass_statement_bind_double_by_name(), but with lengths for string"]
5722 #[doc = " parameters."]
5723 #[doc = ""]
5724 #[doc = " @public @memberof CassStatement"]
5725 #[doc = ""]
5726 #[doc = " @param[in] statement"]
5727 #[doc = " @param[in] name"]
5728 #[doc = " @param[in] name_length"]
5729 #[doc = " @param[in] value"]
5730 #[doc = " @return same as cass_statement_bind_double_by_name()"]
5731 #[doc = ""]
5732 #[doc = " @see cass_statement_bind_double_by_name()"]
5733 pub fn cass_statement_bind_double_by_name_n(
5734 statement: *mut CassStatement,
5735 name: *const ::std::os::raw::c_char,
5736 name_length: usize,
5737 value: cass_double_t,
5738 ) -> CassError;
5739}
5740extern "C" {
5741 #[doc = " Binds a \"boolean\" to a query or bound statement at the specified index."]
5742 #[doc = ""]
5743 #[doc = " @public @memberof CassStatement"]
5744 #[doc = ""]
5745 #[doc = " @param[in] statement"]
5746 #[doc = " @param[in] index"]
5747 #[doc = " @param[in] value"]
5748 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5749 pub fn cass_statement_bind_bool(
5750 statement: *mut CassStatement,
5751 index: usize,
5752 value: cass_bool_t,
5753 ) -> CassError;
5754}
5755extern "C" {
5756 #[doc = " Binds a \"boolean\" to all the values with the specified name."]
5757 #[doc = ""]
5758 #[doc = " This can only be used with statements created by"]
5759 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5760 #[doc = ""]
5761 #[doc = " @public @memberof CassStatement"]
5762 #[doc = ""]
5763 #[doc = " @param[in] statement"]
5764 #[doc = " @param[in] name"]
5765 #[doc = " @param[in] value"]
5766 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5767 pub fn cass_statement_bind_bool_by_name(
5768 statement: *mut CassStatement,
5769 name: *const ::std::os::raw::c_char,
5770 value: cass_bool_t,
5771 ) -> CassError;
5772}
5773extern "C" {
5774 #[doc = " Same as cass_statement_bind_bool_by_name(), but with lengths for string"]
5775 #[doc = " parameters."]
5776 #[doc = ""]
5777 #[doc = " @public @memberof CassStatement"]
5778 #[doc = ""]
5779 #[doc = " @param[in] statement"]
5780 #[doc = " @param[in] name"]
5781 #[doc = " @param[in] name_length"]
5782 #[doc = " @param[in] value"]
5783 #[doc = " @return same as cass_statement_bind_bool_by_name()"]
5784 #[doc = ""]
5785 #[doc = " @see cass_statement_bind_bool_by_name()"]
5786 pub fn cass_statement_bind_bool_by_name_n(
5787 statement: *mut CassStatement,
5788 name: *const ::std::os::raw::c_char,
5789 name_length: usize,
5790 value: cass_bool_t,
5791 ) -> CassError;
5792}
5793extern "C" {
5794 #[doc = " Binds an \"ascii\", \"text\" or \"varchar\" to a query or bound statement"]
5795 #[doc = " at the specified index."]
5796 #[doc = ""]
5797 #[doc = " @public @memberof CassStatement"]
5798 #[doc = ""]
5799 #[doc = " @param[in] statement"]
5800 #[doc = " @param[in] index"]
5801 #[doc = " @param[in] value The value is copied into the statement object; the"]
5802 #[doc = " memory pointed to by this parameter can be freed after this call."]
5803 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5804 pub fn cass_statement_bind_string(
5805 statement: *mut CassStatement,
5806 index: usize,
5807 value: *const ::std::os::raw::c_char,
5808 ) -> CassError;
5809}
5810extern "C" {
5811 #[doc = " Same as cass_statement_bind_string(), but with lengths for string"]
5812 #[doc = " parameters."]
5813 #[doc = ""]
5814 #[doc = " @public @memberof CassStatement"]
5815 #[doc = ""]
5816 #[doc = " @param[in] statement"]
5817 #[doc = " @param[in] index"]
5818 #[doc = " @param[in] value"]
5819 #[doc = " @param[in] value_length"]
5820 #[doc = " @return same as cass_statement_bind_string()"]
5821 #[doc = ""]
5822 #[doc = " @see cass_statement_bind_string()"]
5823 pub fn cass_statement_bind_string_n(
5824 statement: *mut CassStatement,
5825 index: usize,
5826 value: *const ::std::os::raw::c_char,
5827 value_length: usize,
5828 ) -> CassError;
5829}
5830extern "C" {
5831 #[doc = " Binds an \"ascii\", \"text\" or \"varchar\" to all the values"]
5832 #[doc = " with the specified name."]
5833 #[doc = ""]
5834 #[doc = " This can only be used with statements created by"]
5835 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5836 #[doc = ""]
5837 #[doc = " @public @memberof CassStatement"]
5838 #[doc = ""]
5839 #[doc = " @param[in] statement"]
5840 #[doc = " @param[in] name"]
5841 #[doc = " @param[in] value The value is copied into the statement object; the"]
5842 #[doc = " memory pointed to by this parameter can be freed after this call."]
5843 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5844 pub fn cass_statement_bind_string_by_name(
5845 statement: *mut CassStatement,
5846 name: *const ::std::os::raw::c_char,
5847 value: *const ::std::os::raw::c_char,
5848 ) -> CassError;
5849}
5850extern "C" {
5851 #[doc = " Same as cass_statement_bind_string_by_name(), but with lengths for string"]
5852 #[doc = " parameters."]
5853 #[doc = ""]
5854 #[doc = " @public @memberof CassStatement"]
5855 #[doc = ""]
5856 #[doc = " @param[in] statement"]
5857 #[doc = " @param[in] name"]
5858 #[doc = " @param[in] name_length"]
5859 #[doc = " @param[in] value"]
5860 #[doc = " @param[in] value_length"]
5861 #[doc = " @return same as cass_statement_bind_string_by_name()"]
5862 #[doc = ""]
5863 #[doc = " @see cass_statement_bind_string_by_name()"]
5864 pub fn cass_statement_bind_string_by_name_n(
5865 statement: *mut CassStatement,
5866 name: *const ::std::os::raw::c_char,
5867 name_length: usize,
5868 value: *const ::std::os::raw::c_char,
5869 value_length: usize,
5870 ) -> CassError;
5871}
5872extern "C" {
5873 #[doc = " Binds a \"blob\", \"varint\" or \"custom\" to a query or bound statement at the specified index."]
5874 #[doc = ""]
5875 #[doc = " @public @memberof CassStatement"]
5876 #[doc = ""]
5877 #[doc = " @param[in] statement"]
5878 #[doc = " @param[in] index"]
5879 #[doc = " @param[in] value The value is copied into the statement object; the"]
5880 #[doc = " memory pointed to by this parameter can be freed after this call."]
5881 #[doc = " @param[in] value_size"]
5882 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5883 pub fn cass_statement_bind_bytes(
5884 statement: *mut CassStatement,
5885 index: usize,
5886 value: *const cass_byte_t,
5887 value_size: usize,
5888 ) -> CassError;
5889}
5890extern "C" {
5891 #[doc = " Binds a \"blob\", \"varint\" or \"custom\" to all the values with the"]
5892 #[doc = " specified name."]
5893 #[doc = ""]
5894 #[doc = " This can only be used with statements created by"]
5895 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5896 #[doc = ""]
5897 #[doc = " @public @memberof CassStatement"]
5898 #[doc = ""]
5899 #[doc = " @param[in] statement"]
5900 #[doc = " @param[in] name"]
5901 #[doc = " @param[in] value The value is copied into the statement object; the"]
5902 #[doc = " memory pointed to by this parameter can be freed after this call."]
5903 #[doc = " @param[in] value_size"]
5904 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5905 pub fn cass_statement_bind_bytes_by_name(
5906 statement: *mut CassStatement,
5907 name: *const ::std::os::raw::c_char,
5908 value: *const cass_byte_t,
5909 value_size: usize,
5910 ) -> CassError;
5911}
5912extern "C" {
5913 #[doc = " Same as cass_statement_bind_bytes_by_name(), but with lengths for string"]
5914 #[doc = " parameters."]
5915 #[doc = ""]
5916 #[doc = " @public @memberof CassStatement"]
5917 #[doc = ""]
5918 #[doc = " @param[in] statement"]
5919 #[doc = " @param[in] name"]
5920 #[doc = " @param[in] name_length"]
5921 #[doc = " @param[in] value"]
5922 #[doc = " @param[in] value_size"]
5923 #[doc = " @return same as cass_statement_bind_bytes_by_name()"]
5924 #[doc = ""]
5925 #[doc = " @see cass_statement_bind_bytes_by_name()"]
5926 pub fn cass_statement_bind_bytes_by_name_n(
5927 statement: *mut CassStatement,
5928 name: *const ::std::os::raw::c_char,
5929 name_length: usize,
5930 value: *const cass_byte_t,
5931 value_size: usize,
5932 ) -> CassError;
5933}
5934extern "C" {
5935 #[doc = " Binds a \"custom\" to a query or bound statement at the specified index."]
5936 #[doc = ""]
5937 #[doc = " @public @memberof CassStatement"]
5938 #[doc = ""]
5939 #[doc = " @param[in] statement"]
5940 #[doc = " @param[in] index"]
5941 #[doc = " @param[in] class_name"]
5942 #[doc = " @param[in] value The value is copied into the statement object; the"]
5943 #[doc = " memory pointed to by this parameter can be freed after this call."]
5944 #[doc = " @param[in] value_size"]
5945 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5946 pub fn cass_statement_bind_custom(
5947 statement: *mut CassStatement,
5948 index: usize,
5949 class_name: *const ::std::os::raw::c_char,
5950 value: *const cass_byte_t,
5951 value_size: usize,
5952 ) -> CassError;
5953}
5954extern "C" {
5955 #[doc = " Same as cass_statement_bind_custom(), but with lengths for string"]
5956 #[doc = " parameters."]
5957 #[doc = ""]
5958 #[doc = " @public @memberof CassStatement"]
5959 #[doc = ""]
5960 #[doc = " @param[in] statement"]
5961 #[doc = " @param[in] index"]
5962 #[doc = " @param[in] class_name"]
5963 #[doc = " @param[in] class_name_length"]
5964 #[doc = " @param[in] value The value is copied into the statement object; the"]
5965 #[doc = " memory pointed to by this parameter can be freed after this call."]
5966 #[doc = " @param[in] value_size"]
5967 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5968 pub fn cass_statement_bind_custom_n(
5969 statement: *mut CassStatement,
5970 index: usize,
5971 class_name: *const ::std::os::raw::c_char,
5972 class_name_length: usize,
5973 value: *const cass_byte_t,
5974 value_size: usize,
5975 ) -> CassError;
5976}
5977extern "C" {
5978 #[doc = " Binds a \"custom\" to all the values with the specified name."]
5979 #[doc = ""]
5980 #[doc = " This can only be used with statements created by"]
5981 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
5982 #[doc = ""]
5983 #[doc = " @public @memberof CassStatement"]
5984 #[doc = ""]
5985 #[doc = " @param[in] statement"]
5986 #[doc = " @param[in] name"]
5987 #[doc = " @param[in] class_name"]
5988 #[doc = " @param[in] value The value is copied into the statement object; the"]
5989 #[doc = " memory pointed to by this parameter can be freed after this call."]
5990 #[doc = " @param[in] value_size"]
5991 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
5992 pub fn cass_statement_bind_custom_by_name(
5993 statement: *mut CassStatement,
5994 name: *const ::std::os::raw::c_char,
5995 class_name: *const ::std::os::raw::c_char,
5996 value: *const cass_byte_t,
5997 value_size: usize,
5998 ) -> CassError;
5999}
6000extern "C" {
6001 #[doc = " Same as cass_statement_bind_custom_by_name(), but with lengths for string"]
6002 #[doc = " parameters."]
6003 #[doc = ""]
6004 #[doc = " @public @memberof CassStatement"]
6005 #[doc = ""]
6006 #[doc = " @param[in] statement"]
6007 #[doc = " @param[in] name"]
6008 #[doc = " @param[in] name_length"]
6009 #[doc = " @param[in] class_name"]
6010 #[doc = " @param[in] class_name_length"]
6011 #[doc = " @param[in] value"]
6012 #[doc = " @param[in] value_size"]
6013 #[doc = " @return same as cass_statement_bind_custom_by_name()"]
6014 #[doc = ""]
6015 #[doc = " @see cass_statement_bind_custom_by_name()"]
6016 pub fn cass_statement_bind_custom_by_name_n(
6017 statement: *mut CassStatement,
6018 name: *const ::std::os::raw::c_char,
6019 name_length: usize,
6020 class_name: *const ::std::os::raw::c_char,
6021 class_name_length: usize,
6022 value: *const cass_byte_t,
6023 value_size: usize,
6024 ) -> CassError;
6025}
6026extern "C" {
6027 #[doc = " Binds a \"uuid\" or \"timeuuid\" to a query or bound statement at the specified index."]
6028 #[doc = ""]
6029 #[doc = " @public @memberof CassStatement"]
6030 #[doc = ""]
6031 #[doc = " @param[in] statement"]
6032 #[doc = " @param[in] index"]
6033 #[doc = " @param[in] value"]
6034 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6035 pub fn cass_statement_bind_uuid(
6036 statement: *mut CassStatement,
6037 index: usize,
6038 value: CassUuid,
6039 ) -> CassError;
6040}
6041extern "C" {
6042 #[doc = " Binds a \"uuid\" or \"timeuuid\" to all the values"]
6043 #[doc = " with the specified name."]
6044 #[doc = ""]
6045 #[doc = " This can only be used with statements created by"]
6046 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
6047 #[doc = ""]
6048 #[doc = " @public @memberof CassStatement"]
6049 #[doc = ""]
6050 #[doc = " @param[in] statement"]
6051 #[doc = " @param[in] name"]
6052 #[doc = " @param[in] value"]
6053 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6054 pub fn cass_statement_bind_uuid_by_name(
6055 statement: *mut CassStatement,
6056 name: *const ::std::os::raw::c_char,
6057 value: CassUuid,
6058 ) -> CassError;
6059}
6060extern "C" {
6061 #[doc = " Same as cass_statement_bind_uuid_by_name(), but with lengths for string"]
6062 #[doc = " parameters."]
6063 #[doc = ""]
6064 #[doc = " @public @memberof CassStatement"]
6065 #[doc = ""]
6066 #[doc = " @param[in] statement"]
6067 #[doc = " @param[in] name"]
6068 #[doc = " @param[in] name_length"]
6069 #[doc = " @param[in] value"]
6070 #[doc = " @return same as cass_statement_bind_uuid_by_name()"]
6071 #[doc = ""]
6072 #[doc = " @see cass_statement_bind_uuid_by_name()"]
6073 pub fn cass_statement_bind_uuid_by_name_n(
6074 statement: *mut CassStatement,
6075 name: *const ::std::os::raw::c_char,
6076 name_length: usize,
6077 value: CassUuid,
6078 ) -> CassError;
6079}
6080extern "C" {
6081 #[doc = " Binds an \"inet\" to a query or bound statement at the specified index."]
6082 #[doc = ""]
6083 #[doc = " @public @memberof CassStatement"]
6084 #[doc = ""]
6085 #[doc = " @param[in] statement"]
6086 #[doc = " @param[in] index"]
6087 #[doc = " @param[in] value"]
6088 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6089 pub fn cass_statement_bind_inet(
6090 statement: *mut CassStatement,
6091 index: usize,
6092 value: CassInet,
6093 ) -> CassError;
6094}
6095extern "C" {
6096 #[doc = " Binds an \"inet\" to all the values with the specified name."]
6097 #[doc = ""]
6098 #[doc = " This can only be used with statements created by"]
6099 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
6100 #[doc = ""]
6101 #[doc = " @public @memberof CassStatement"]
6102 #[doc = ""]
6103 #[doc = " @param[in] statement"]
6104 #[doc = " @param[in] name"]
6105 #[doc = " @param[in] value"]
6106 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6107 pub fn cass_statement_bind_inet_by_name(
6108 statement: *mut CassStatement,
6109 name: *const ::std::os::raw::c_char,
6110 value: CassInet,
6111 ) -> CassError;
6112}
6113extern "C" {
6114 #[doc = " Same as cass_statement_bind_inet_by_name(), but with lengths for string"]
6115 #[doc = " parameters."]
6116 #[doc = ""]
6117 #[doc = " @public @memberof CassStatement"]
6118 #[doc = ""]
6119 #[doc = " @param[in] statement"]
6120 #[doc = " @param[in] name"]
6121 #[doc = " @param[in] name_length"]
6122 #[doc = " @param[in] value"]
6123 #[doc = " @return same as cass_statement_bind_inet_by_name()"]
6124 #[doc = ""]
6125 #[doc = " @see cass_statement_bind_inet_by_name()"]
6126 pub fn cass_statement_bind_inet_by_name_n(
6127 statement: *mut CassStatement,
6128 name: *const ::std::os::raw::c_char,
6129 name_length: usize,
6130 value: CassInet,
6131 ) -> CassError;
6132}
6133extern "C" {
6134 #[doc = " Bind a \"decimal\" to a query or bound statement at the specified index."]
6135 #[doc = ""]
6136 #[doc = " @public @memberof CassStatement"]
6137 #[doc = ""]
6138 #[doc = " @param[in] statement"]
6139 #[doc = " @param[in] index"]
6140 #[doc = " @param[in] varint The value is copied into the statement object; the"]
6141 #[doc = " memory pointed to by this parameter can be freed after this call."]
6142 #[doc = " @param[in] varint_size"]
6143 #[doc = " @param[in] scale"]
6144 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6145 pub fn cass_statement_bind_decimal(
6146 statement: *mut CassStatement,
6147 index: usize,
6148 varint: *const cass_byte_t,
6149 varint_size: usize,
6150 scale: cass_int32_t,
6151 ) -> CassError;
6152}
6153extern "C" {
6154 #[doc = " Binds a \"decimal\" to all the values with the specified name."]
6155 #[doc = ""]
6156 #[doc = " This can only be used with statements created by"]
6157 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
6158 #[doc = ""]
6159 #[doc = " @public @memberof CassStatement"]
6160 #[doc = ""]
6161 #[doc = " @param[in] statement"]
6162 #[doc = " @param[in] name"]
6163 #[doc = " @param[in] varint The value is copied into the statement object; the"]
6164 #[doc = " memory pointed to by this parameter can be freed after this call."]
6165 #[doc = " @param[in] varint_size"]
6166 #[doc = " @param[in] scale"]
6167 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6168 pub fn cass_statement_bind_decimal_by_name(
6169 statement: *mut CassStatement,
6170 name: *const ::std::os::raw::c_char,
6171 varint: *const cass_byte_t,
6172 varint_size: usize,
6173 scale: cass_int32_t,
6174 ) -> CassError;
6175}
6176extern "C" {
6177 #[doc = " Same as cass_statement_bind_decimal_by_name(), but with lengths for string"]
6178 #[doc = " parameters."]
6179 #[doc = ""]
6180 #[doc = " @public @memberof CassStatement"]
6181 #[doc = ""]
6182 #[doc = " @param[in] statement"]
6183 #[doc = " @param[in] name"]
6184 #[doc = " @param[in] name_length"]
6185 #[doc = " @param[in] varint"]
6186 #[doc = " @param[in] varint_size"]
6187 #[doc = " @param[in] scale"]
6188 #[doc = " @return same as cass_statement_bind_decimal_by_name()"]
6189 #[doc = ""]
6190 #[doc = " @see cass_statement_bind_decimal_by_name()"]
6191 pub fn cass_statement_bind_decimal_by_name_n(
6192 statement: *mut CassStatement,
6193 name: *const ::std::os::raw::c_char,
6194 name_length: usize,
6195 varint: *const cass_byte_t,
6196 varint_size: usize,
6197 scale: cass_int32_t,
6198 ) -> CassError;
6199}
6200extern "C" {
6201 #[doc = " Binds a \"duration\" to a query or bound statement at the specified index."]
6202 #[doc = ""]
6203 #[doc = " @cassandra{3.10+}"]
6204 #[doc = ""]
6205 #[doc = " @public @memberof CassStatement"]
6206 #[doc = ""]
6207 #[doc = " @param[in] statement"]
6208 #[doc = " @param[in] index"]
6209 #[doc = " @param[in] months"]
6210 #[doc = " @param[in] days"]
6211 #[doc = " @param[in] nanos"]
6212 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6213 pub fn cass_statement_bind_duration(
6214 statement: *mut CassStatement,
6215 index: usize,
6216 months: cass_int32_t,
6217 days: cass_int32_t,
6218 nanos: cass_int64_t,
6219 ) -> CassError;
6220}
6221extern "C" {
6222 #[doc = " Binds a \"duration\" to all the values with the specified name."]
6223 #[doc = ""]
6224 #[doc = " @cassandra{3.10+}"]
6225 #[doc = ""]
6226 #[doc = " @public @memberof CassStatement"]
6227 #[doc = ""]
6228 #[doc = " @param[in] statement"]
6229 #[doc = " @param[in] name"]
6230 #[doc = " @param[in] months"]
6231 #[doc = " @param[in] days"]
6232 #[doc = " @param[in] nanos"]
6233 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6234 pub fn cass_statement_bind_duration_by_name(
6235 statement: *mut CassStatement,
6236 name: *const ::std::os::raw::c_char,
6237 months: cass_int32_t,
6238 days: cass_int32_t,
6239 nanos: cass_int64_t,
6240 ) -> CassError;
6241}
6242extern "C" {
6243 #[doc = " Same as cass_statement_bind_duration_by_name(), but with lengths for string"]
6244 #[doc = " parameters."]
6245 #[doc = ""]
6246 #[doc = " @cassandra{3.10+}"]
6247 #[doc = ""]
6248 #[doc = " @public @memberof CassStatement"]
6249 #[doc = ""]
6250 #[doc = " @param[in] statement"]
6251 #[doc = " @param[in] name"]
6252 #[doc = " @param[in] name_length"]
6253 #[doc = " @param[in] months"]
6254 #[doc = " @param[in] days"]
6255 #[doc = " @param[in] nanos"]
6256 #[doc = " @return same as cass_statement_bind_duration_by_name()"]
6257 #[doc = ""]
6258 #[doc = " @see cass_statement_bind_duration_by_name()"]
6259 pub fn cass_statement_bind_duration_by_name_n(
6260 statement: *mut CassStatement,
6261 name: *const ::std::os::raw::c_char,
6262 name_length: usize,
6263 months: cass_int32_t,
6264 days: cass_int32_t,
6265 nanos: cass_int64_t,
6266 ) -> CassError;
6267}
6268extern "C" {
6269 #[doc = " Bind a \"list\", \"map\" or \"set\" to a query or bound statement at the"]
6270 #[doc = " specified index."]
6271 #[doc = ""]
6272 #[doc = " @public @memberof CassStatement"]
6273 #[doc = ""]
6274 #[doc = " @param[in] statement"]
6275 #[doc = " @param[in] index"]
6276 #[doc = " @param[in] collection The collection can be freed after this call."]
6277 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6278 pub fn cass_statement_bind_collection(
6279 statement: *mut CassStatement,
6280 index: usize,
6281 collection: *const CassCollection,
6282 ) -> CassError;
6283}
6284extern "C" {
6285 #[doc = " Bind a \"list\", \"map\" or \"set\" to all the values with the"]
6286 #[doc = " specified name."]
6287 #[doc = ""]
6288 #[doc = " This can only be used with statements created by"]
6289 #[doc = " cass_prepared_bind() when using Cassandra 2.0 or earlier."]
6290 #[doc = ""]
6291 #[doc = " @public @memberof CassStatement"]
6292 #[doc = ""]
6293 #[doc = " @param[in] statement"]
6294 #[doc = " @param[in] name"]
6295 #[doc = " @param[in] collection The collection can be freed after this call."]
6296 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6297 pub fn cass_statement_bind_collection_by_name(
6298 statement: *mut CassStatement,
6299 name: *const ::std::os::raw::c_char,
6300 collection: *const CassCollection,
6301 ) -> CassError;
6302}
6303extern "C" {
6304 #[doc = " Same as cass_statement_bind_collection_by_name(), but with lengths for string"]
6305 #[doc = " parameters."]
6306 #[doc = ""]
6307 #[doc = " @public @memberof CassStatement"]
6308 #[doc = ""]
6309 #[doc = " @param[in] statement"]
6310 #[doc = " @param[in] name"]
6311 #[doc = " @param[in] name_length"]
6312 #[doc = " @param[in] collection"]
6313 #[doc = " @return same as cass_statement_bind_collection_by_name()"]
6314 #[doc = ""]
6315 #[doc = " @see cass_statement_bind_collection_by_name()"]
6316 pub fn cass_statement_bind_collection_by_name_n(
6317 statement: *mut CassStatement,
6318 name: *const ::std::os::raw::c_char,
6319 name_length: usize,
6320 collection: *const CassCollection,
6321 ) -> CassError;
6322}
6323extern "C" {
6324 #[doc = " Bind a \"tuple\" to a query or bound statement at the specified index."]
6325 #[doc = ""]
6326 #[doc = " @cassandra{2.1+}"]
6327 #[doc = ""]
6328 #[doc = " @public @memberof CassStatement"]
6329 #[doc = ""]
6330 #[doc = " @param[in] statement"]
6331 #[doc = " @param[in] index"]
6332 #[doc = " @param[in] tuple The tuple can be freed after this call."]
6333 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6334 pub fn cass_statement_bind_tuple(
6335 statement: *mut CassStatement,
6336 index: usize,
6337 tuple: *const CassTuple,
6338 ) -> CassError;
6339}
6340extern "C" {
6341 #[doc = " Bind a \"tuple\" to all the values with the specified name."]
6342 #[doc = ""]
6343 #[doc = " @cassandra{2.1+}"]
6344 #[doc = ""]
6345 #[doc = " @public @memberof CassStatement"]
6346 #[doc = ""]
6347 #[doc = " @param[in] statement"]
6348 #[doc = " @param[in] name"]
6349 #[doc = " @param[in] tuple The tuple can be freed after this call."]
6350 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6351 pub fn cass_statement_bind_tuple_by_name(
6352 statement: *mut CassStatement,
6353 name: *const ::std::os::raw::c_char,
6354 tuple: *const CassTuple,
6355 ) -> CassError;
6356}
6357extern "C" {
6358 #[doc = " Same as cass_statement_bind_tuple_by_name(), but with lengths for string"]
6359 #[doc = " parameters."]
6360 #[doc = ""]
6361 #[doc = " @cassandra{2.1+}"]
6362 #[doc = ""]
6363 #[doc = " @public @memberof CassStatement"]
6364 #[doc = ""]
6365 #[doc = " @param[in] statement"]
6366 #[doc = " @param[in] name"]
6367 #[doc = " @param[in] name_length"]
6368 #[doc = " @param[in] tuple"]
6369 #[doc = " @return same as cass_statement_bind_tuple_by_name()"]
6370 #[doc = ""]
6371 #[doc = " @see cass_statement_bind_tuple_by_name()"]
6372 pub fn cass_statement_bind_tuple_by_name_n(
6373 statement: *mut CassStatement,
6374 name: *const ::std::os::raw::c_char,
6375 name_length: usize,
6376 tuple: *const CassTuple,
6377 ) -> CassError;
6378}
6379extern "C" {
6380 #[doc = " Bind a user defined type to a query or bound statement at the"]
6381 #[doc = " specified index."]
6382 #[doc = ""]
6383 #[doc = " @cassandra{2.1+}"]
6384 #[doc = ""]
6385 #[doc = " @public @memberof CassStatement"]
6386 #[doc = ""]
6387 #[doc = " @param[in] statement"]
6388 #[doc = " @param[in] index"]
6389 #[doc = " @param[in] user_type The user type can be freed after this call."]
6390 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6391 pub fn cass_statement_bind_user_type(
6392 statement: *mut CassStatement,
6393 index: usize,
6394 user_type: *const CassUserType,
6395 ) -> CassError;
6396}
6397extern "C" {
6398 #[doc = " Bind a user defined type to a query or bound statement with the"]
6399 #[doc = " specified name."]
6400 #[doc = ""]
6401 #[doc = " @cassandra{2.1+}"]
6402 #[doc = ""]
6403 #[doc = " @public @memberof CassStatement"]
6404 #[doc = ""]
6405 #[doc = " @param[in] statement"]
6406 #[doc = " @param[in] name"]
6407 #[doc = " @param[in] user_type The user type can be freed after this call."]
6408 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6409 pub fn cass_statement_bind_user_type_by_name(
6410 statement: *mut CassStatement,
6411 name: *const ::std::os::raw::c_char,
6412 user_type: *const CassUserType,
6413 ) -> CassError;
6414}
6415extern "C" {
6416 #[doc = " Same as cass_statement_bind_user_type_by_name(), but with lengths for string"]
6417 #[doc = " parameters."]
6418 #[doc = ""]
6419 #[doc = " @cassandra{2.1+}"]
6420 #[doc = ""]
6421 #[doc = " @public @memberof CassStatement"]
6422 #[doc = ""]
6423 #[doc = " @param[in] statement"]
6424 #[doc = " @param[in] name"]
6425 #[doc = " @param[in] name_length"]
6426 #[doc = " @param[in] user_type"]
6427 #[doc = " @return same as cass_statement_bind_user_type_by_name()"]
6428 #[doc = ""]
6429 #[doc = " @see cass_statement_bind_collection_by_name()"]
6430 pub fn cass_statement_bind_user_type_by_name_n(
6431 statement: *mut CassStatement,
6432 name: *const ::std::os::raw::c_char,
6433 name_length: usize,
6434 user_type: *const CassUserType,
6435 ) -> CassError;
6436}
6437extern "C" {
6438 #[doc = " Frees a prepared instance."]
6439 #[doc = ""]
6440 #[doc = " @public @memberof CassPrepared"]
6441 #[doc = ""]
6442 #[doc = " @param[in] prepared"]
6443 pub fn cass_prepared_free(prepared: *const CassPrepared);
6444}
6445extern "C" {
6446 #[doc = " Creates a bound statement from a pre-prepared statement."]
6447 #[doc = ""]
6448 #[doc = " @public @memberof CassPrepared"]
6449 #[doc = ""]
6450 #[doc = " @param[in] prepared"]
6451 #[doc = " @return Returns a bound statement that must be freed."]
6452 #[doc = ""]
6453 #[doc = " @see cass_statement_free()"]
6454 pub fn cass_prepared_bind(prepared: *const CassPrepared) -> *mut CassStatement;
6455}
6456extern "C" {
6457 #[doc = " Gets the name of a parameter at the specified index."]
6458 #[doc = ""]
6459 #[doc = " @public @memberof CassPrepared"]
6460 #[doc = ""]
6461 #[doc = " @param[in] prepared"]
6462 #[doc = " @param[in] index"]
6463 #[doc = " @param[out] name"]
6464 #[doc = " @param[out] name_length"]
6465 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6466 pub fn cass_prepared_parameter_name(
6467 prepared: *const CassPrepared,
6468 index: usize,
6469 name: *mut *const ::std::os::raw::c_char,
6470 name_length: *mut usize,
6471 ) -> CassError;
6472}
6473extern "C" {
6474 #[doc = " Gets the data type of a parameter at the specified index."]
6475 #[doc = ""]
6476 #[doc = " @public @memberof CassPrepared"]
6477 #[doc = ""]
6478 #[doc = " @param[in] prepared"]
6479 #[doc = " @param[in] index"]
6480 #[doc = " @return Returns a reference to the data type of the parameter. Do not free"]
6481 #[doc = " this reference as it is bound to the lifetime of the prepared."]
6482 pub fn cass_prepared_parameter_data_type(
6483 prepared: *const CassPrepared,
6484 index: usize,
6485 ) -> *const CassDataType;
6486}
6487extern "C" {
6488 #[doc = " Gets the data type of a parameter for the specified name."]
6489 #[doc = ""]
6490 #[doc = " @public @memberof CassPrepared"]
6491 #[doc = ""]
6492 #[doc = " @param[in] prepared"]
6493 #[doc = " @param[in] name"]
6494 #[doc = " @return Returns a reference to the data type of the parameter. Do not free"]
6495 #[doc = " this reference as it is bound to the lifetime of the prepared."]
6496 pub fn cass_prepared_parameter_data_type_by_name(
6497 prepared: *const CassPrepared,
6498 name: *const ::std::os::raw::c_char,
6499 ) -> *const CassDataType;
6500}
6501extern "C" {
6502 #[doc = " Same as cass_prepared_parameter_data_type_by_name(), but with lengths for string"]
6503 #[doc = " parameters."]
6504 #[doc = ""]
6505 #[doc = " @public @memberof CassPrepared"]
6506 #[doc = ""]
6507 #[doc = " @param[in] prepared"]
6508 #[doc = " @param[in] name"]
6509 #[doc = " @param[in] name_length"]
6510 #[doc = " @return Returns a reference to the data type of the parameter. Do not free"]
6511 #[doc = " this reference as it is bound to the lifetime of the prepared."]
6512 #[doc = ""]
6513 #[doc = " @see cass_prepared_parameter_data_type_by_name()"]
6514 pub fn cass_prepared_parameter_data_type_by_name_n(
6515 prepared: *const CassPrepared,
6516 name: *const ::std::os::raw::c_char,
6517 name_length: usize,
6518 ) -> *const CassDataType;
6519}
6520extern "C" {
6521 #[doc = " Creates a new batch statement with batch type."]
6522 #[doc = ""]
6523 #[doc = " @cassandra{2.0+}"]
6524 #[doc = ""]
6525 #[doc = " @public @memberof CassBatch"]
6526 #[doc = ""]
6527 #[doc = " @param[in] type"]
6528 #[doc = " @return Returns a batch statement that must be freed."]
6529 #[doc = ""]
6530 #[doc = " @see cass_batch_free()"]
6531 pub fn cass_batch_new(type_: CassBatchType) -> *mut CassBatch;
6532}
6533extern "C" {
6534 #[doc = " Frees a batch instance. Batches can be immediately freed after being"]
6535 #[doc = " executed."]
6536 #[doc = ""]
6537 #[doc = " @cassandra{2.0+}"]
6538 #[doc = ""]
6539 #[doc = " @public @memberof CassBatch"]
6540 #[doc = ""]
6541 #[doc = " @param[in] batch"]
6542 pub fn cass_batch_free(batch: *mut CassBatch);
6543}
6544extern "C" {
6545 #[doc = " Sets the batch's keyspace. When using protocol v5 or greater it overrides"]
6546 #[doc = " the session's keyspace for the batch."]
6547 #[doc = ""]
6548 #[doc = " <b>Note:</b> If not set explicitly then the batch will inherit the keyspace"]
6549 #[doc = " of the first child statement with a non-empty keyspace."]
6550 #[doc = ""]
6551 #[doc = " @public @memberof CassBatch"]
6552 #[doc = ""]
6553 #[doc = " @param[in] batch"]
6554 #[doc = " @param[in] keyspace"]
6555 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6556 pub fn cass_batch_set_keyspace(
6557 batch: *mut CassBatch,
6558 keyspace: *const ::std::os::raw::c_char,
6559 ) -> CassError;
6560}
6561extern "C" {
6562 #[doc = " Same as cass_batch_set_keyspace(), but with lengths for string"]
6563 #[doc = " parameters."]
6564 #[doc = ""]
6565 #[doc = " @public @memberof CassBatch"]
6566 #[doc = ""]
6567 #[doc = " @param[in] batch"]
6568 #[doc = " @param[in] keyspace"]
6569 #[doc = " @param[in] keyspace_length"]
6570 #[doc = " @return same as cass_batch_set_keyspace()"]
6571 #[doc = ""]
6572 #[doc = " @see cass_batch_set_keyspace()"]
6573 pub fn cass_batch_set_keyspace_n(
6574 batch: *mut CassBatch,
6575 keyspace: *const ::std::os::raw::c_char,
6576 keyspace_length: usize,
6577 ) -> CassError;
6578}
6579extern "C" {
6580 #[doc = " Sets the batch's consistency level"]
6581 #[doc = ""]
6582 #[doc = " @cassandra{2.0+}"]
6583 #[doc = ""]
6584 #[doc = " @public @memberof CassBatch"]
6585 #[doc = ""]
6586 #[doc = " @param[in] batch"]
6587 #[doc = " @param[in] consistency The batch's write consistency."]
6588 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6589 pub fn cass_batch_set_consistency(
6590 batch: *mut CassBatch,
6591 consistency: CassConsistency,
6592 ) -> CassError;
6593}
6594extern "C" {
6595 #[doc = " Sets the batch's serial consistency level."]
6596 #[doc = ""]
6597 #[doc = " @cassandra{2.0+}"]
6598 #[doc = ""]
6599 #[doc = " <b>Default:</b> Not set"]
6600 #[doc = ""]
6601 #[doc = " @public @memberof CassBatch"]
6602 #[doc = ""]
6603 #[doc = " @param[in] batch"]
6604 #[doc = " @param[in] serial_consistency"]
6605 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6606 pub fn cass_batch_set_serial_consistency(
6607 batch: *mut CassBatch,
6608 serial_consistency: CassConsistency,
6609 ) -> CassError;
6610}
6611extern "C" {
6612 #[doc = " Sets the batch's timestamp."]
6613 #[doc = ""]
6614 #[doc = " @cassandra{2.1+}"]
6615 #[doc = ""]
6616 #[doc = " @public @memberof CassBatch"]
6617 #[doc = ""]
6618 #[doc = " @param[in] batch"]
6619 #[doc = " @param[in] timestamp"]
6620 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6621 pub fn cass_batch_set_timestamp(batch: *mut CassBatch, timestamp: cass_int64_t) -> CassError;
6622}
6623extern "C" {
6624 #[doc = " Sets the batch's timeout for waiting for a response from a node."]
6625 #[doc = ""]
6626 #[doc = " <b>Default:</b> Disabled (use the cluster-level request timeout)"]
6627 #[doc = ""]
6628 #[doc = " @public @memberof CassBatch"]
6629 #[doc = ""]
6630 #[doc = " @param[in] batch"]
6631 #[doc = " @param[in] timeout_ms Request timeout in milliseconds. Use 0 for no timeout"]
6632 #[doc = " or CASS_UINT64_MAX to disable (to use the cluster-level request timeout)."]
6633 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6634 #[doc = ""]
6635 #[doc = " @see cass_cluster_set_request_timeout()"]
6636 pub fn cass_batch_set_request_timeout(
6637 batch: *mut CassBatch,
6638 timeout_ms: cass_uint64_t,
6639 ) -> CassError;
6640}
6641extern "C" {
6642 #[doc = " Sets whether the statements in a batch are idempotent. Idempotent batches"]
6643 #[doc = " are able to be automatically retried after timeouts/errors and can be"]
6644 #[doc = " speculatively executed."]
6645 #[doc = ""]
6646 #[doc = " @public @memberof CassBatch"]
6647 #[doc = ""]
6648 #[doc = " @param[in] batch"]
6649 #[doc = " @param[in] is_idempotent"]
6650 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6651 #[doc = ""]
6652 #[doc = " @see cass_cluster_set_constant_speculative_execution_policy()"]
6653 #[doc = " @see cass_execution_profile_set_constant_speculative_execution_policy()"]
6654 pub fn cass_batch_set_is_idempotent(
6655 batch: *mut CassBatch,
6656 is_idempotent: cass_bool_t,
6657 ) -> CassError;
6658}
6659extern "C" {
6660 #[doc = " Sets the batch's retry policy."]
6661 #[doc = ""]
6662 #[doc = " @cassandra{2.0+}"]
6663 #[doc = ""]
6664 #[doc = " @public @memberof CassBatch"]
6665 #[doc = ""]
6666 #[doc = " @param[in] batch"]
6667 #[doc = " @param[in] retry_policy"]
6668 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6669 pub fn cass_batch_set_retry_policy(
6670 batch: *mut CassBatch,
6671 retry_policy: *mut CassRetryPolicy,
6672 ) -> CassError;
6673}
6674extern "C" {
6675 #[doc = " Sets the batch's custom payload."]
6676 #[doc = ""]
6677 #[doc = " @cassandra{2.2+}"]
6678 #[doc = ""]
6679 #[doc = " @public @memberof CassBatch"]
6680 #[doc = ""]
6681 #[doc = " @param[in] batch"]
6682 #[doc = " @param[in] payload"]
6683 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6684 pub fn cass_batch_set_custom_payload(
6685 batch: *mut CassBatch,
6686 payload: *const CassCustomPayload,
6687 ) -> CassError;
6688}
6689extern "C" {
6690 #[doc = " Sets whether the batch should use tracing."]
6691 #[doc = ""]
6692 #[doc = " @cassandra{2.2+}"]
6693 #[doc = ""]
6694 #[doc = " @public @memberof CassStatement"]
6695 #[doc = ""]
6696 #[doc = " @param[in] batch"]
6697 #[doc = " @param[in] enabled"]
6698 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6699 pub fn cass_batch_set_tracing(batch: *mut CassBatch, enabled: cass_bool_t) -> CassError;
6700}
6701extern "C" {
6702 #[doc = " Adds a statement to a batch."]
6703 #[doc = ""]
6704 #[doc = " @cassandra{2.0+}"]
6705 #[doc = ""]
6706 #[doc = " @public @memberof CassBatch"]
6707 #[doc = ""]
6708 #[doc = " @param[in] batch"]
6709 #[doc = " @param[in] statement"]
6710 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6711 pub fn cass_batch_add_statement(
6712 batch: *mut CassBatch,
6713 statement: *mut CassStatement,
6714 ) -> CassError;
6715}
6716extern "C" {
6717 #[doc = " Sets the execution profile to execute the batch with."]
6718 #[doc = ""]
6719 #[doc = " <b>Note:</b> NULL or empty string will clear execution profile from batch"]
6720 #[doc = ""]
6721 #[doc = " @public @memberof CassBatch"]
6722 #[doc = ""]
6723 #[doc = " @param[in] batch"]
6724 #[doc = " @param[in] name"]
6725 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6726 #[doc = ""]
6727 #[doc = " @see cass_cluster_set_execution_profile()"]
6728 pub fn cass_batch_set_execution_profile(
6729 batch: *mut CassBatch,
6730 name: *const ::std::os::raw::c_char,
6731 ) -> CassError;
6732}
6733extern "C" {
6734 #[doc = " Same as cass_batch_set_execution_profile(), but with lengths for string"]
6735 #[doc = " parameters."]
6736 #[doc = ""]
6737 #[doc = " @public @memberof CassBatch"]
6738 #[doc = ""]
6739 #[doc = " @param[in] batch"]
6740 #[doc = " @param[in] name"]
6741 #[doc = " @param[in] name_length"]
6742 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6743 #[doc = ""]
6744 #[doc = " @see cass_batch_set_execution_profile()"]
6745 pub fn cass_batch_set_execution_profile_n(
6746 batch: *mut CassBatch,
6747 name: *const ::std::os::raw::c_char,
6748 name_length: usize,
6749 ) -> CassError;
6750}
6751extern "C" {
6752 #[doc = " Creates a new data type with value type."]
6753 #[doc = ""]
6754 #[doc = " @public @memberof CassDataType"]
6755 #[doc = ""]
6756 #[doc = " @param[in] type"]
6757 #[doc = " @return Returns a data type that must be freed."]
6758 #[doc = ""]
6759 #[doc = " @see cass_data_type_free()"]
6760 pub fn cass_data_type_new(type_: CassValueType) -> *mut CassDataType;
6761}
6762extern "C" {
6763 #[doc = " Creates a new data type from an existing data type."]
6764 #[doc = ""]
6765 #[doc = " @public @memberof CassDataType"]
6766 #[doc = ""]
6767 #[doc = " @param[in] data_type"]
6768 #[doc = " @return Returns a data type that must be freed."]
6769 #[doc = ""]
6770 #[doc = " @see cass_data_type_free()"]
6771 pub fn cass_data_type_new_from_existing(data_type: *const CassDataType) -> *mut CassDataType;
6772}
6773extern "C" {
6774 #[doc = " Creates a new tuple data type."]
6775 #[doc = ""]
6776 #[doc = " @cassandra{2.1+}"]
6777 #[doc = ""]
6778 #[doc = " @public @memberof CassDataType"]
6779 #[doc = ""]
6780 #[doc = " @param[in] item_count The number of items in the tuple"]
6781 #[doc = " @return Returns a data type that must be freed."]
6782 #[doc = ""]
6783 #[doc = " @see cass_data_type_free()"]
6784 pub fn cass_data_type_new_tuple(item_count: usize) -> *mut CassDataType;
6785}
6786extern "C" {
6787 #[doc = " Creates a new UDT (user defined type) data type."]
6788 #[doc = ""]
6789 #[doc = " @cassandra{2.1+}"]
6790 #[doc = ""]
6791 #[doc = " @public @memberof CassDataType"]
6792 #[doc = ""]
6793 #[doc = " @param[in] field_count The number of fields in the UDT"]
6794 #[doc = " @return Returns a data type that must be freed."]
6795 #[doc = ""]
6796 #[doc = " @see cass_data_type_free()"]
6797 pub fn cass_data_type_new_udt(field_count: usize) -> *mut CassDataType;
6798}
6799extern "C" {
6800 #[doc = " Frees a data type instance."]
6801 #[doc = ""]
6802 #[doc = " @public @memberof CassDataType"]
6803 #[doc = ""]
6804 #[doc = " @param[in] data_type"]
6805 pub fn cass_data_type_free(data_type: *mut CassDataType);
6806}
6807extern "C" {
6808 #[doc = " Gets the value type of the specified data type."]
6809 #[doc = ""]
6810 #[doc = " @param[in] data_type"]
6811 #[doc = " @return The value type"]
6812 pub fn cass_data_type_type(data_type: *const CassDataType) -> CassValueType;
6813}
6814extern "C" {
6815 #[doc = " Gets whether a data type is frozen."]
6816 #[doc = ""]
6817 #[doc = " @cassandra{2.1+}"]
6818 #[doc = ""]
6819 #[doc = " @param[in] data_type"]
6820 #[doc = " @return cass_true if the data type is frozen, otherwise cass_false."]
6821 pub fn cass_data_type_is_frozen(data_type: *const CassDataType) -> cass_bool_t;
6822}
6823extern "C" {
6824 #[doc = " Gets the type name of a UDT data type."]
6825 #[doc = ""]
6826 #[doc = " <b>Note:</b> Only valid for UDT data types."]
6827 #[doc = ""]
6828 #[doc = " @param[in] data_type"]
6829 #[doc = " @param[out] type_name"]
6830 #[doc = " @param[out] type_name_length"]
6831 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6832 pub fn cass_data_type_type_name(
6833 data_type: *const CassDataType,
6834 type_name: *mut *const ::std::os::raw::c_char,
6835 type_name_length: *mut usize,
6836 ) -> CassError;
6837}
6838extern "C" {
6839 #[doc = " Sets the type name of a UDT data type."]
6840 #[doc = ""]
6841 #[doc = " <b>Note:</b> Only valid for UDT data types."]
6842 #[doc = ""]
6843 #[doc = " @param[in] data_type"]
6844 #[doc = " @param[in] type_name"]
6845 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6846 pub fn cass_data_type_set_type_name(
6847 data_type: *mut CassDataType,
6848 type_name: *const ::std::os::raw::c_char,
6849 ) -> CassError;
6850}
6851extern "C" {
6852 #[doc = " Same as cass_data_type_set_type_name(), but with lengths for string"]
6853 #[doc = " parameters."]
6854 #[doc = ""]
6855 #[doc = " @public @memberof CassDataType"]
6856 #[doc = ""]
6857 #[doc = " @param[in] data_type"]
6858 #[doc = " @param[in] type_name"]
6859 #[doc = " @param[in] type_name_length"]
6860 #[doc = " @return Returns a data type that must be freed."]
6861 pub fn cass_data_type_set_type_name_n(
6862 data_type: *mut CassDataType,
6863 type_name: *const ::std::os::raw::c_char,
6864 type_name_length: usize,
6865 ) -> CassError;
6866}
6867extern "C" {
6868 #[doc = " Gets the type name of a UDT data type."]
6869 #[doc = ""]
6870 #[doc = " <b>Note:</b> Only valid for UDT data types."]
6871 #[doc = ""]
6872 #[doc = " @cassandra{2.1+}"]
6873 #[doc = ""]
6874 #[doc = " @param[in] data_type"]
6875 #[doc = " @param[out] keyspace"]
6876 #[doc = " @param[out] keyspace_length"]
6877 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6878 pub fn cass_data_type_keyspace(
6879 data_type: *const CassDataType,
6880 keyspace: *mut *const ::std::os::raw::c_char,
6881 keyspace_length: *mut usize,
6882 ) -> CassError;
6883}
6884extern "C" {
6885 #[doc = " Sets the keyspace of a UDT data type."]
6886 #[doc = ""]
6887 #[doc = " <b>Note:</b> Only valid for UDT data types."]
6888 #[doc = ""]
6889 #[doc = " @cassandra{2.1+}"]
6890 #[doc = ""]
6891 #[doc = " @param[in] data_type"]
6892 #[doc = " @param[in] keyspace"]
6893 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6894 pub fn cass_data_type_set_keyspace(
6895 data_type: *mut CassDataType,
6896 keyspace: *const ::std::os::raw::c_char,
6897 ) -> CassError;
6898}
6899extern "C" {
6900 #[doc = " Same as cass_data_type_set_keyspace(), but with lengths for string"]
6901 #[doc = " parameters."]
6902 #[doc = ""]
6903 #[doc = " @cassandra{2.1+}"]
6904 #[doc = ""]
6905 #[doc = " @public @memberof CassDataType"]
6906 #[doc = ""]
6907 #[doc = " @param[in] data_type"]
6908 #[doc = " @param[in] keyspace"]
6909 #[doc = " @param[in] keyspace_length"]
6910 #[doc = " @return Returns a data type that must be freed."]
6911 pub fn cass_data_type_set_keyspace_n(
6912 data_type: *mut CassDataType,
6913 keyspace: *const ::std::os::raw::c_char,
6914 keyspace_length: usize,
6915 ) -> CassError;
6916}
6917extern "C" {
6918 #[doc = " Gets the class name of a custom data type."]
6919 #[doc = ""]
6920 #[doc = " <b>Note:</b> Only valid for custom data types."]
6921 #[doc = ""]
6922 #[doc = " @param[in] data_type"]
6923 #[doc = " @param[out] class_name"]
6924 #[doc = " @param[out] class_name_length"]
6925 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6926 pub fn cass_data_type_class_name(
6927 data_type: *const CassDataType,
6928 class_name: *mut *const ::std::os::raw::c_char,
6929 class_name_length: *mut usize,
6930 ) -> CassError;
6931}
6932extern "C" {
6933 #[doc = " Sets the class name of a custom data type."]
6934 #[doc = ""]
6935 #[doc = " <b>Note:</b> Only valid for custom data types."]
6936 #[doc = ""]
6937 #[doc = " @param[in] data_type"]
6938 #[doc = " @param[in] class_name"]
6939 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
6940 pub fn cass_data_type_set_class_name(
6941 data_type: *mut CassDataType,
6942 class_name: *const ::std::os::raw::c_char,
6943 ) -> CassError;
6944}
6945extern "C" {
6946 #[doc = " Same as cass_data_type_set_class_name(), but with lengths for string"]
6947 #[doc = " parameters."]
6948 #[doc = ""]
6949 #[doc = " @public @memberof CassDataType"]
6950 #[doc = ""]
6951 #[doc = " @param[in] data_type"]
6952 #[doc = " @param[in] class_name"]
6953 #[doc = " @param[in] class_name_length"]
6954 #[doc = " @return Returns a data type that must be freed."]
6955 pub fn cass_data_type_set_class_name_n(
6956 data_type: *mut CassDataType,
6957 class_name: *const ::std::os::raw::c_char,
6958 class_name_length: usize,
6959 ) -> CassError;
6960}
6961extern "C" {
6962 #[doc = " Gets the sub-data type count of a UDT (user defined type), tuple"]
6963 #[doc = " or collection."]
6964 #[doc = ""]
6965 #[doc = " <b>Note:</b> Only valid for UDT, tuple and collection data types."]
6966 #[doc = ""]
6967 #[doc = " @param[in] data_type"]
6968 #[doc = " @return Returns the number of sub-data types"]
6969 pub fn cass_data_type_sub_type_count(data_type: *const CassDataType) -> usize;
6970}
6971extern "C" {
6972 pub fn cass_data_sub_type_count(data_type: *const CassDataType) -> usize;
6973}
6974extern "C" {
6975 #[doc = " Gets the sub-data type of a UDT (user defined type), tuple or collection at"]
6976 #[doc = " the specified index."]
6977 #[doc = ""]
6978 #[doc = " <b>Note:</b> Only valid for UDT, tuple and collection data types."]
6979 #[doc = ""]
6980 #[doc = " @param[in] data_type"]
6981 #[doc = " @param[in] index"]
6982 #[doc = " @return Returns a reference to a child data type. Do not free this"]
6983 #[doc = " reference as it is bound to the lifetime of the parent data type. NULL"]
6984 #[doc = " is returned if the index is out of range."]
6985 pub fn cass_data_type_sub_data_type(
6986 data_type: *const CassDataType,
6987 index: usize,
6988 ) -> *const CassDataType;
6989}
6990extern "C" {
6991 #[doc = " Gets the sub-data type of a UDT (user defined type) at the specified index."]
6992 #[doc = ""]
6993 #[doc = " <b>Note:</b> Only valid for UDT data types."]
6994 #[doc = ""]
6995 #[doc = " @cassandra{2.1+}"]
6996 #[doc = ""]
6997 #[doc = " @param[in] data_type"]
6998 #[doc = " @param[in] name"]
6999 #[doc = " @return Returns a reference to a child data type. Do not free this"]
7000 #[doc = " reference as it is bound to the lifetime of the parent data type. NULL"]
7001 #[doc = " is returned if the name doesn't exist."]
7002 pub fn cass_data_type_sub_data_type_by_name(
7003 data_type: *const CassDataType,
7004 name: *const ::std::os::raw::c_char,
7005 ) -> *const CassDataType;
7006}
7007extern "C" {
7008 #[doc = " Same as cass_data_type_sub_data_type_by_name(), but with lengths for string"]
7009 #[doc = " parameters."]
7010 #[doc = ""]
7011 #[doc = " @cassandra{2.1+}"]
7012 #[doc = ""]
7013 #[doc = " @public @memberof CassDataType"]
7014 #[doc = ""]
7015 #[doc = " @param[in] data_type"]
7016 #[doc = " @param[in] name"]
7017 #[doc = " @param[in] name_length"]
7018 #[doc = " @return Returns a reference to a child data type. Do not free this"]
7019 #[doc = " reference as it is bound to the lifetime of the parent data type. NULL"]
7020 #[doc = " is returned if the name doesn't exist."]
7021 pub fn cass_data_type_sub_data_type_by_name_n(
7022 data_type: *const CassDataType,
7023 name: *const ::std::os::raw::c_char,
7024 name_length: usize,
7025 ) -> *const CassDataType;
7026}
7027extern "C" {
7028 #[doc = " Gets the sub-type name of a UDT (user defined type) at the specified index."]
7029 #[doc = ""]
7030 #[doc = " @cassandra{2.1+}"]
7031 #[doc = ""]
7032 #[doc = " <b>Note:</b> Only valid for UDT data types."]
7033 #[doc = ""]
7034 #[doc = " @param[in] data_type"]
7035 #[doc = " @param[in] index"]
7036 #[doc = " @param[out] name"]
7037 #[doc = " @param[out] name_length"]
7038 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7039 pub fn cass_data_type_sub_type_name(
7040 data_type: *const CassDataType,
7041 index: usize,
7042 name: *mut *const ::std::os::raw::c_char,
7043 name_length: *mut usize,
7044 ) -> CassError;
7045}
7046extern "C" {
7047 #[doc = " Adds a sub-data type to a tuple or collection."]
7048 #[doc = ""]
7049 #[doc = " <b>Note:</b> Only valid for tuple and collection data types."]
7050 #[doc = ""]
7051 #[doc = " @param[in] data_type"]
7052 #[doc = " @param[in] sub_data_type"]
7053 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7054 pub fn cass_data_type_add_sub_type(
7055 data_type: *mut CassDataType,
7056 sub_data_type: *const CassDataType,
7057 ) -> CassError;
7058}
7059extern "C" {
7060 #[doc = " Adds a sub-data type to a UDT (user defined type)."]
7061 #[doc = ""]
7062 #[doc = " <b>Note:</b> Only valid for UDT data types."]
7063 #[doc = ""]
7064 #[doc = " @cassandra{2.1+}"]
7065 #[doc = ""]
7066 #[doc = " @param[in] data_type"]
7067 #[doc = " @param[in] name"]
7068 #[doc = " @param[in] sub_data_type"]
7069 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7070 pub fn cass_data_type_add_sub_type_by_name(
7071 data_type: *mut CassDataType,
7072 name: *const ::std::os::raw::c_char,
7073 sub_data_type: *const CassDataType,
7074 ) -> CassError;
7075}
7076extern "C" {
7077 #[doc = " Same as cass_data_type_add_sub_type_by_name(), but with lengths for string"]
7078 #[doc = " parameters."]
7079 #[doc = ""]
7080 #[doc = " <b>Note:</b> Only valid for UDT data types."]
7081 #[doc = ""]
7082 #[doc = " @cassandra{2.1+}"]
7083 #[doc = ""]
7084 #[doc = " @param[in] data_type"]
7085 #[doc = " @param[in] name"]
7086 #[doc = " @param[in] name_length"]
7087 #[doc = " @param[in] sub_data_type"]
7088 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7089 pub fn cass_data_type_add_sub_type_by_name_n(
7090 data_type: *mut CassDataType,
7091 name: *const ::std::os::raw::c_char,
7092 name_length: usize,
7093 sub_data_type: *const CassDataType,
7094 ) -> CassError;
7095}
7096extern "C" {
7097 #[doc = " Adds a sub-data type to a tuple or collection using a value type."]
7098 #[doc = ""]
7099 #[doc = " <b>Note:</b> Only valid for tuple and collection data types."]
7100 #[doc = ""]
7101 #[doc = " @param[in] data_type"]
7102 #[doc = " @param[in] sub_value_type"]
7103 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7104 pub fn cass_data_type_add_sub_value_type(
7105 data_type: *mut CassDataType,
7106 sub_value_type: CassValueType,
7107 ) -> CassError;
7108}
7109extern "C" {
7110 #[doc = " Adds a sub-data type to a UDT (user defined type) using a value type."]
7111 #[doc = ""]
7112 #[doc = " <b>Note:</b> Only valid for UDT data types."]
7113 #[doc = ""]
7114 #[doc = " @cassandra{2.1+}"]
7115 #[doc = ""]
7116 #[doc = " @param[in] data_type"]
7117 #[doc = " @param[in] name"]
7118 #[doc = " @param[in] sub_value_type"]
7119 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7120 pub fn cass_data_type_add_sub_value_type_by_name(
7121 data_type: *mut CassDataType,
7122 name: *const ::std::os::raw::c_char,
7123 sub_value_type: CassValueType,
7124 ) -> CassError;
7125}
7126extern "C" {
7127 #[doc = " Same as cass_data_type_add_sub_value_type_by_name(), but with lengths for string"]
7128 #[doc = " parameters."]
7129 #[doc = ""]
7130 #[doc = " <b>Note:</b> Only valid for UDT data types."]
7131 #[doc = ""]
7132 #[doc = " @cassandra{2.1+}"]
7133 #[doc = ""]
7134 #[doc = " @param[in] data_type"]
7135 #[doc = " @param[in] name"]
7136 #[doc = " @param[in] name_length"]
7137 #[doc = " @param[in] sub_value_type"]
7138 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7139 pub fn cass_data_type_add_sub_value_type_by_name_n(
7140 data_type: *mut CassDataType,
7141 name: *const ::std::os::raw::c_char,
7142 name_length: usize,
7143 sub_value_type: CassValueType,
7144 ) -> CassError;
7145}
7146extern "C" {
7147 #[doc = " Creates a new collection."]
7148 #[doc = ""]
7149 #[doc = " @public @memberof CassCollection"]
7150 #[doc = ""]
7151 #[doc = " @param[in] type"]
7152 #[doc = " @param[in] item_count The approximate number of items in the collection."]
7153 #[doc = " @return Returns a collection that must be freed."]
7154 #[doc = ""]
7155 #[doc = " @see cass_collection_free()"]
7156 pub fn cass_collection_new(type_: CassCollectionType, item_count: usize)
7157 -> *mut CassCollection;
7158}
7159extern "C" {
7160 #[doc = " Creates a new collection from an existing data type."]
7161 #[doc = ""]
7162 #[doc = " @public @memberof CassCollection"]
7163 #[doc = ""]
7164 #[doc = " @param[in] data_type"]
7165 #[doc = " @param[in] item_count The approximate number of items in the collection."]
7166 #[doc = " @return Returns a collection that must be freed."]
7167 #[doc = ""]
7168 #[doc = " @see cass_collection_free();"]
7169 pub fn cass_collection_new_from_data_type(
7170 data_type: *const CassDataType,
7171 item_count: usize,
7172 ) -> *mut CassCollection;
7173}
7174extern "C" {
7175 #[doc = " Frees a collection instance."]
7176 #[doc = ""]
7177 #[doc = " @public @memberof CassCollection"]
7178 #[doc = ""]
7179 #[doc = " @param[in] collection"]
7180 pub fn cass_collection_free(collection: *mut CassCollection);
7181}
7182extern "C" {
7183 #[doc = " Gets the data type of a collection."]
7184 #[doc = ""]
7185 #[doc = " @param[in] collection"]
7186 #[doc = " @return Returns a reference to the data type of the collection. Do not free"]
7187 #[doc = " this reference as it is bound to the lifetime of the collection."]
7188 pub fn cass_collection_data_type(collection: *const CassCollection) -> *const CassDataType;
7189}
7190extern "C" {
7191 #[doc = " Appends a \"tinyint\" to the collection."]
7192 #[doc = ""]
7193 #[doc = " @cassandra{2.2+}"]
7194 #[doc = ""]
7195 #[doc = " @public @memberof CassCollection"]
7196 #[doc = ""]
7197 #[doc = " @param[in] collection"]
7198 #[doc = " @param[in] value"]
7199 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7200 pub fn cass_collection_append_int8(
7201 collection: *mut CassCollection,
7202 value: cass_int8_t,
7203 ) -> CassError;
7204}
7205extern "C" {
7206 #[doc = " Appends an \"smallint\" to the collection."]
7207 #[doc = ""]
7208 #[doc = " @cassandra{2.2+}"]
7209 #[doc = ""]
7210 #[doc = " @public @memberof CassCollection"]
7211 #[doc = ""]
7212 #[doc = " @param[in] collection"]
7213 #[doc = " @param[in] value"]
7214 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7215 pub fn cass_collection_append_int16(
7216 collection: *mut CassCollection,
7217 value: cass_int16_t,
7218 ) -> CassError;
7219}
7220extern "C" {
7221 #[doc = " Appends an \"int\" to the collection."]
7222 #[doc = ""]
7223 #[doc = " @public @memberof CassCollection"]
7224 #[doc = ""]
7225 #[doc = " @param[in] collection"]
7226 #[doc = " @param[in] value"]
7227 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7228 pub fn cass_collection_append_int32(
7229 collection: *mut CassCollection,
7230 value: cass_int32_t,
7231 ) -> CassError;
7232}
7233extern "C" {
7234 #[doc = " Appends a \"date\" to the collection."]
7235 #[doc = ""]
7236 #[doc = " @cassandra{2.2+}"]
7237 #[doc = ""]
7238 #[doc = " @public @memberof CassCollection"]
7239 #[doc = ""]
7240 #[doc = " @param[in] collection"]
7241 #[doc = " @param[in] value"]
7242 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7243 pub fn cass_collection_append_uint32(
7244 collection: *mut CassCollection,
7245 value: cass_uint32_t,
7246 ) -> CassError;
7247}
7248extern "C" {
7249 #[doc = " Appends a \"bigint\", \"counter\", \"timestamp\" or \"time\" to the"]
7250 #[doc = " collection."]
7251 #[doc = ""]
7252 #[doc = " @public @memberof CassCollection"]
7253 #[doc = ""]
7254 #[doc = " @param[in] collection"]
7255 #[doc = " @param[in] value"]
7256 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7257 pub fn cass_collection_append_int64(
7258 collection: *mut CassCollection,
7259 value: cass_int64_t,
7260 ) -> CassError;
7261}
7262extern "C" {
7263 #[doc = " Appends a \"float\" to the collection."]
7264 #[doc = ""]
7265 #[doc = " @public @memberof CassCollection"]
7266 #[doc = ""]
7267 #[doc = " @param[in] collection"]
7268 #[doc = " @param[in] value"]
7269 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7270 pub fn cass_collection_append_float(
7271 collection: *mut CassCollection,
7272 value: cass_float_t,
7273 ) -> CassError;
7274}
7275extern "C" {
7276 #[doc = " Appends a \"double\" to the collection."]
7277 #[doc = ""]
7278 #[doc = " @public @memberof CassCollection"]
7279 #[doc = ""]
7280 #[doc = " @param[in] collection"]
7281 #[doc = " @param[in] value"]
7282 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7283 pub fn cass_collection_append_double(
7284 collection: *mut CassCollection,
7285 value: cass_double_t,
7286 ) -> CassError;
7287}
7288extern "C" {
7289 #[doc = " Appends a \"boolean\" to the collection."]
7290 #[doc = ""]
7291 #[doc = " @public @memberof CassCollection"]
7292 #[doc = ""]
7293 #[doc = " @param[in] collection"]
7294 #[doc = " @param[in] value"]
7295 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7296 pub fn cass_collection_append_bool(
7297 collection: *mut CassCollection,
7298 value: cass_bool_t,
7299 ) -> CassError;
7300}
7301extern "C" {
7302 #[doc = " Appends an \"ascii\", \"text\" or \"varchar\" to the collection."]
7303 #[doc = ""]
7304 #[doc = " @public @memberof CassCollection"]
7305 #[doc = ""]
7306 #[doc = " @param[in] collection"]
7307 #[doc = " @param[in] value The value is copied into the collection object; the"]
7308 #[doc = " memory pointed to by this parameter can be freed after this call."]
7309 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7310 pub fn cass_collection_append_string(
7311 collection: *mut CassCollection,
7312 value: *const ::std::os::raw::c_char,
7313 ) -> CassError;
7314}
7315extern "C" {
7316 #[doc = " Same as cass_collection_append_string(), but with lengths for string"]
7317 #[doc = " parameters."]
7318 #[doc = ""]
7319 #[doc = " @public @memberof CassCollection"]
7320 #[doc = ""]
7321 #[doc = " @param[in] collection"]
7322 #[doc = " @param[in] value"]
7323 #[doc = " @param[in] value_length"]
7324 #[doc = " @return same as cass_collection_append_string()"]
7325 #[doc = ""]
7326 #[doc = " @see cass_collection_append_string();"]
7327 pub fn cass_collection_append_string_n(
7328 collection: *mut CassCollection,
7329 value: *const ::std::os::raw::c_char,
7330 value_length: usize,
7331 ) -> CassError;
7332}
7333extern "C" {
7334 #[doc = " Appends a \"blob\", \"varint\" or \"custom\" to the collection."]
7335 #[doc = ""]
7336 #[doc = " @public @memberof CassCollection"]
7337 #[doc = ""]
7338 #[doc = " @param[in] collection"]
7339 #[doc = " @param[in] value The value is copied into the collection object; the"]
7340 #[doc = " memory pointed to by this parameter can be freed after this call."]
7341 #[doc = " @param[in] value_size"]
7342 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7343 pub fn cass_collection_append_bytes(
7344 collection: *mut CassCollection,
7345 value: *const cass_byte_t,
7346 value_size: usize,
7347 ) -> CassError;
7348}
7349extern "C" {
7350 #[doc = " Appends a \"custom\" to the collection."]
7351 #[doc = ""]
7352 #[doc = " @public @memberof CassCollection"]
7353 #[doc = ""]
7354 #[doc = " @param[in] collection"]
7355 #[doc = " @param[in] class_name"]
7356 #[doc = " @param[in] value The value is copied into the collection object; the"]
7357 #[doc = " memory pointed to by this parameter can be freed after this call."]
7358 #[doc = " @param[in] value_size"]
7359 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7360 pub fn cass_collection_append_custom(
7361 collection: *mut CassCollection,
7362 class_name: *const ::std::os::raw::c_char,
7363 value: *const cass_byte_t,
7364 value_size: usize,
7365 ) -> CassError;
7366}
7367extern "C" {
7368 #[doc = " Same as cass_collection_append_custom(), but with lengths for string"]
7369 #[doc = " parameters."]
7370 #[doc = ""]
7371 #[doc = " @public @memberof CassCollection"]
7372 #[doc = ""]
7373 #[doc = " @param[in] collection"]
7374 #[doc = " @param[in] class_name"]
7375 #[doc = " @param[in] class_name_length"]
7376 #[doc = " @param[in] value"]
7377 #[doc = " @param[in] value_size"]
7378 #[doc = " @return same as cass_collection_append_custom()"]
7379 #[doc = ""]
7380 #[doc = " @see cass_collection_append_custom()"]
7381 pub fn cass_collection_append_custom_n(
7382 collection: *mut CassCollection,
7383 class_name: *const ::std::os::raw::c_char,
7384 class_name_length: usize,
7385 value: *const cass_byte_t,
7386 value_size: usize,
7387 ) -> CassError;
7388}
7389extern "C" {
7390 #[doc = " Appends a \"uuid\" or \"timeuuid\" to the collection."]
7391 #[doc = ""]
7392 #[doc = " @public @memberof CassCollection"]
7393 #[doc = ""]
7394 #[doc = " @param[in] collection"]
7395 #[doc = " @param[in] value"]
7396 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7397 pub fn cass_collection_append_uuid(
7398 collection: *mut CassCollection,
7399 value: CassUuid,
7400 ) -> CassError;
7401}
7402extern "C" {
7403 #[doc = " Appends an \"inet\" to the collection."]
7404 #[doc = ""]
7405 #[doc = " @public @memberof CassCollection"]
7406 #[doc = ""]
7407 #[doc = " @param[in] collection"]
7408 #[doc = " @param[in] value"]
7409 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7410 pub fn cass_collection_append_inet(
7411 collection: *mut CassCollection,
7412 value: CassInet,
7413 ) -> CassError;
7414}
7415extern "C" {
7416 #[doc = " Appends a \"decimal\" to the collection."]
7417 #[doc = ""]
7418 #[doc = " @public @memberof CassCollection"]
7419 #[doc = ""]
7420 #[doc = " @param[in] collection"]
7421 #[doc = " @param[in] varint The value is copied into the collection object; the"]
7422 #[doc = " memory pointed to by this parameter can be freed after this call."]
7423 #[doc = " @param[in] varint_size"]
7424 #[doc = " @param[in] scale"]
7425 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7426 pub fn cass_collection_append_decimal(
7427 collection: *mut CassCollection,
7428 varint: *const cass_byte_t,
7429 varint_size: usize,
7430 scale: cass_int32_t,
7431 ) -> CassError;
7432}
7433extern "C" {
7434 #[doc = " Appends a \"duration\" to the collection."]
7435 #[doc = ""]
7436 #[doc = " @cassandra{3.10+}"]
7437 #[doc = ""]
7438 #[doc = " @public @memberof CassCollection"]
7439 #[doc = ""]
7440 #[doc = " @param[in] collection"]
7441 #[doc = " @param[in] months"]
7442 #[doc = " @param[in] days"]
7443 #[doc = " @param[in] nanos"]
7444 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7445 pub fn cass_collection_append_duration(
7446 collection: *mut CassCollection,
7447 months: cass_int32_t,
7448 days: cass_int32_t,
7449 nanos: cass_int64_t,
7450 ) -> CassError;
7451}
7452extern "C" {
7453 #[doc = " Appends a \"list\", \"map\" or \"set\" to the collection."]
7454 #[doc = ""]
7455 #[doc = " @cassandra{2.1+}"]
7456 #[doc = ""]
7457 #[doc = " @public @memberof CassCollection"]
7458 #[doc = ""]
7459 #[doc = " @param[in] collection"]
7460 #[doc = " @param[in] value"]
7461 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7462 pub fn cass_collection_append_collection(
7463 collection: *mut CassCollection,
7464 value: *const CassCollection,
7465 ) -> CassError;
7466}
7467extern "C" {
7468 #[doc = " Appends a \"tuple\" to the collection."]
7469 #[doc = ""]
7470 #[doc = " @cassandra{2.1+}"]
7471 #[doc = ""]
7472 #[doc = " @public @memberof CassCollection"]
7473 #[doc = ""]
7474 #[doc = " @param[in] collection"]
7475 #[doc = " @param[in] value"]
7476 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7477 pub fn cass_collection_append_tuple(
7478 collection: *mut CassCollection,
7479 value: *const CassTuple,
7480 ) -> CassError;
7481}
7482extern "C" {
7483 #[doc = " Appends a \"udt\" to the collection."]
7484 #[doc = ""]
7485 #[doc = " @cassandra{2.1+}"]
7486 #[doc = ""]
7487 #[doc = " @public @memberof CassCollection"]
7488 #[doc = ""]
7489 #[doc = " @param[in] collection"]
7490 #[doc = " @param[in] value"]
7491 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7492 pub fn cass_collection_append_user_type(
7493 collection: *mut CassCollection,
7494 value: *const CassUserType,
7495 ) -> CassError;
7496}
7497extern "C" {
7498 #[doc = " Creates a new tuple."]
7499 #[doc = ""]
7500 #[doc = " @cassandra{2.1+}"]
7501 #[doc = ""]
7502 #[doc = " @public @memberof CassTuple"]
7503 #[doc = ""]
7504 #[doc = " @param[in] item_count The number of items in the tuple."]
7505 #[doc = " @return Returns a tuple that must be freed."]
7506 #[doc = ""]
7507 #[doc = " @see cass_tuple_free()"]
7508 pub fn cass_tuple_new(item_count: usize) -> *mut CassTuple;
7509}
7510extern "C" {
7511 #[doc = " Creates a new tuple from an existing data type."]
7512 #[doc = ""]
7513 #[doc = " @cassandra{2.1+}"]
7514 #[doc = ""]
7515 #[doc = " @public @memberof CassTuple"]
7516 #[doc = ""]
7517 #[doc = " @param[in] data_type"]
7518 #[doc = " @return Returns a tuple that must be freed."]
7519 #[doc = ""]
7520 #[doc = " @see cass_tuple_free();"]
7521 pub fn cass_tuple_new_from_data_type(data_type: *const CassDataType) -> *mut CassTuple;
7522}
7523extern "C" {
7524 #[doc = " Frees a tuple instance."]
7525 #[doc = ""]
7526 #[doc = " @cassandra{2.1+}"]
7527 #[doc = ""]
7528 #[doc = " @public @memberof CassTuple"]
7529 #[doc = ""]
7530 #[doc = " @param[in] tuple"]
7531 pub fn cass_tuple_free(tuple: *mut CassTuple);
7532}
7533extern "C" {
7534 #[doc = " Gets the data type of a tuple."]
7535 #[doc = ""]
7536 #[doc = " @cassandra{2.1+}"]
7537 #[doc = ""]
7538 #[doc = " @param[in] tuple"]
7539 #[doc = " @return Returns a reference to the data type of the tuple. Do not free"]
7540 #[doc = " this reference as it is bound to the lifetime of the tuple."]
7541 pub fn cass_tuple_data_type(tuple: *const CassTuple) -> *const CassDataType;
7542}
7543extern "C" {
7544 #[doc = " Sets an null in a tuple at the specified index."]
7545 #[doc = ""]
7546 #[doc = " @cassandra{2.1+}"]
7547 #[doc = ""]
7548 #[doc = " @public @memberof CassTuple"]
7549 #[doc = ""]
7550 #[doc = " @param[in] tuple"]
7551 #[doc = " @param[in] index"]
7552 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7553 pub fn cass_tuple_set_null(tuple: *mut CassTuple, index: usize) -> CassError;
7554}
7555extern "C" {
7556 #[doc = " Sets a \"tinyint\" in a tuple at the specified index."]
7557 #[doc = ""]
7558 #[doc = " @cassandra{2.2+}"]
7559 #[doc = ""]
7560 #[doc = " @public @memberof CassTuple"]
7561 #[doc = ""]
7562 #[doc = " @param[in] tuple"]
7563 #[doc = " @param[in] index"]
7564 #[doc = " @param[in] value"]
7565 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7566 pub fn cass_tuple_set_int8(
7567 tuple: *mut CassTuple,
7568 index: usize,
7569 value: cass_int8_t,
7570 ) -> CassError;
7571}
7572extern "C" {
7573 #[doc = " Sets an \"smallint\" in a tuple at the specified index."]
7574 #[doc = ""]
7575 #[doc = " @cassandra{2.2+}"]
7576 #[doc = ""]
7577 #[doc = " @public @memberof CassTuple"]
7578 #[doc = ""]
7579 #[doc = " @param[in] tuple"]
7580 #[doc = " @param[in] index"]
7581 #[doc = " @param[in] value"]
7582 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7583 pub fn cass_tuple_set_int16(
7584 tuple: *mut CassTuple,
7585 index: usize,
7586 value: cass_int16_t,
7587 ) -> CassError;
7588}
7589extern "C" {
7590 #[doc = " Sets an \"int\" in a tuple at the specified index."]
7591 #[doc = ""]
7592 #[doc = " @cassandra{2.1+}"]
7593 #[doc = ""]
7594 #[doc = " @public @memberof CassTuple"]
7595 #[doc = ""]
7596 #[doc = " @param[in] tuple"]
7597 #[doc = " @param[in] index"]
7598 #[doc = " @param[in] value"]
7599 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7600 pub fn cass_tuple_set_int32(
7601 tuple: *mut CassTuple,
7602 index: usize,
7603 value: cass_int32_t,
7604 ) -> CassError;
7605}
7606extern "C" {
7607 #[doc = " Sets a \"date\" in a tuple at the specified index."]
7608 #[doc = ""]
7609 #[doc = " @cassandra{2.2+}"]
7610 #[doc = ""]
7611 #[doc = " @public @memberof CassTuple"]
7612 #[doc = ""]
7613 #[doc = " @param[in] tuple"]
7614 #[doc = " @param[in] index"]
7615 #[doc = " @param[in] value"]
7616 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7617 pub fn cass_tuple_set_uint32(
7618 tuple: *mut CassTuple,
7619 index: usize,
7620 value: cass_uint32_t,
7621 ) -> CassError;
7622}
7623extern "C" {
7624 #[doc = " Sets a \"bigint\", \"counter\", \"timestamp\" or \"time\" in a tuple at the"]
7625 #[doc = " specified index."]
7626 #[doc = ""]
7627 #[doc = " @cassandra{2.1+}"]
7628 #[doc = ""]
7629 #[doc = " @public @memberof CassTuple"]
7630 #[doc = ""]
7631 #[doc = " @param[in] tuple"]
7632 #[doc = " @param[in] index"]
7633 #[doc = " @param[in] value"]
7634 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7635 pub fn cass_tuple_set_int64(
7636 tuple: *mut CassTuple,
7637 index: usize,
7638 value: cass_int64_t,
7639 ) -> CassError;
7640}
7641extern "C" {
7642 #[doc = " Sets a \"float\" in a tuple at the specified index."]
7643 #[doc = ""]
7644 #[doc = " @cassandra{2.1+}"]
7645 #[doc = ""]
7646 #[doc = " @public @memberof CassTuple"]
7647 #[doc = ""]
7648 #[doc = " @param[in] tuple"]
7649 #[doc = " @param[in] index"]
7650 #[doc = " @param[in] value"]
7651 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7652 pub fn cass_tuple_set_float(
7653 tuple: *mut CassTuple,
7654 index: usize,
7655 value: cass_float_t,
7656 ) -> CassError;
7657}
7658extern "C" {
7659 #[doc = " Sets a \"double\" in a tuple at the specified index."]
7660 #[doc = ""]
7661 #[doc = " @cassandra{2.1+}"]
7662 #[doc = ""]
7663 #[doc = " @public @memberof CassTuple"]
7664 #[doc = ""]
7665 #[doc = " @param[in] tuple"]
7666 #[doc = " @param[in] index"]
7667 #[doc = " @param[in] value"]
7668 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7669 pub fn cass_tuple_set_double(
7670 tuple: *mut CassTuple,
7671 index: usize,
7672 value: cass_double_t,
7673 ) -> CassError;
7674}
7675extern "C" {
7676 #[doc = " Sets a \"boolean\" in a tuple at the specified index."]
7677 #[doc = ""]
7678 #[doc = " @cassandra{2.1+}"]
7679 #[doc = ""]
7680 #[doc = " @public @memberof CassTuple"]
7681 #[doc = ""]
7682 #[doc = " @param[in] tuple"]
7683 #[doc = " @param[in] index"]
7684 #[doc = " @param[in] value"]
7685 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7686 pub fn cass_tuple_set_bool(
7687 tuple: *mut CassTuple,
7688 index: usize,
7689 value: cass_bool_t,
7690 ) -> CassError;
7691}
7692extern "C" {
7693 #[doc = " Sets an \"ascii\", \"text\" or \"varchar\" in a tuple at the specified index."]
7694 #[doc = ""]
7695 #[doc = " @cassandra{2.1+}"]
7696 #[doc = ""]
7697 #[doc = " @public @memberof CassTuple"]
7698 #[doc = ""]
7699 #[doc = " @param[in] tuple"]
7700 #[doc = " @param[in] index"]
7701 #[doc = " @param[in] value The value is copied into the tuple object; the"]
7702 #[doc = " memory pointed to by this parameter can be freed after this call."]
7703 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7704 pub fn cass_tuple_set_string(
7705 tuple: *mut CassTuple,
7706 index: usize,
7707 value: *const ::std::os::raw::c_char,
7708 ) -> CassError;
7709}
7710extern "C" {
7711 #[doc = " Same as cass_tuple_set_string(), but with lengths for string"]
7712 #[doc = " parameters."]
7713 #[doc = ""]
7714 #[doc = " @cassandra{2.1+}"]
7715 #[doc = ""]
7716 #[doc = " @public @memberof CassTuple"]
7717 #[doc = ""]
7718 #[doc = " @param[in] tuple"]
7719 #[doc = " @param[in] index"]
7720 #[doc = " @param[in] value"]
7721 #[doc = " @param[in] value_length"]
7722 #[doc = " @return same as cass_tuple_set_string()"]
7723 #[doc = ""]
7724 #[doc = " @see cass_tuple_set_string();"]
7725 pub fn cass_tuple_set_string_n(
7726 tuple: *mut CassTuple,
7727 index: usize,
7728 value: *const ::std::os::raw::c_char,
7729 value_length: usize,
7730 ) -> CassError;
7731}
7732extern "C" {
7733 #[doc = " Sets a \"blob\", \"varint\" or \"custom\" in a tuple at the specified index."]
7734 #[doc = ""]
7735 #[doc = " @cassandra{2.1+}"]
7736 #[doc = ""]
7737 #[doc = " @public @memberof CassTuple"]
7738 #[doc = ""]
7739 #[doc = " @param[in] tuple"]
7740 #[doc = " @param[in] index"]
7741 #[doc = " @param[in] value The value is copied into the tuple object; the"]
7742 #[doc = " memory pointed to by this parameter can be freed after this call."]
7743 #[doc = " @param[in] value_size"]
7744 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7745 pub fn cass_tuple_set_bytes(
7746 tuple: *mut CassTuple,
7747 index: usize,
7748 value: *const cass_byte_t,
7749 value_size: usize,
7750 ) -> CassError;
7751}
7752extern "C" {
7753 #[doc = " Sets a \"custom\" in a tuple at the specified index."]
7754 #[doc = ""]
7755 #[doc = " @public @memberof CassTuple"]
7756 #[doc = ""]
7757 #[doc = " @param[in] tuple"]
7758 #[doc = " @param[in] index"]
7759 #[doc = " @param[in] class_name"]
7760 #[doc = " @param[in] value The value is copied into the tuple object; the"]
7761 #[doc = " memory pointed to by this parameter can be freed after this call."]
7762 #[doc = " @param[in] value_size"]
7763 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7764 pub fn cass_tuple_set_custom(
7765 tuple: *mut CassTuple,
7766 index: usize,
7767 class_name: *const ::std::os::raw::c_char,
7768 value: *const cass_byte_t,
7769 value_size: usize,
7770 ) -> CassError;
7771}
7772extern "C" {
7773 #[doc = " Same as cass_tuple_set_custom(), but with lengths for string"]
7774 #[doc = " parameters."]
7775 #[doc = ""]
7776 #[doc = " @public @memberof CassTuple"]
7777 #[doc = ""]
7778 #[doc = " @param[in] tuple"]
7779 #[doc = " @param[in] index"]
7780 #[doc = " @param[in] class_name"]
7781 #[doc = " @param[in] class_name_length"]
7782 #[doc = " @param[in] value"]
7783 #[doc = " @param[in] value_size"]
7784 #[doc = " @return same as cass_tuple_set_custom()"]
7785 #[doc = ""]
7786 #[doc = " @see cass_tuple_set_custom()"]
7787 pub fn cass_tuple_set_custom_n(
7788 tuple: *mut CassTuple,
7789 index: usize,
7790 class_name: *const ::std::os::raw::c_char,
7791 class_name_length: usize,
7792 value: *const cass_byte_t,
7793 value_size: usize,
7794 ) -> CassError;
7795}
7796extern "C" {
7797 #[doc = " Sets a \"uuid\" or \"timeuuid\" in a tuple at the specified index."]
7798 #[doc = ""]
7799 #[doc = " @cassandra{2.1+}"]
7800 #[doc = ""]
7801 #[doc = " @public @memberof CassTuple"]
7802 #[doc = ""]
7803 #[doc = " @param[in] tuple"]
7804 #[doc = " @param[in] index"]
7805 #[doc = " @param[in] value"]
7806 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7807 pub fn cass_tuple_set_uuid(tuple: *mut CassTuple, index: usize, value: CassUuid) -> CassError;
7808}
7809extern "C" {
7810 #[doc = " Sets an \"inet\" in a tuple at the specified index."]
7811 #[doc = ""]
7812 #[doc = " @cassandra{2.1+}"]
7813 #[doc = ""]
7814 #[doc = " @public @memberof CassTuple"]
7815 #[doc = ""]
7816 #[doc = " @param[in] tuple"]
7817 #[doc = " @param[in] index"]
7818 #[doc = " @param[in] value"]
7819 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7820 pub fn cass_tuple_set_inet(tuple: *mut CassTuple, index: usize, value: CassInet) -> CassError;
7821}
7822extern "C" {
7823 #[doc = " Sets a \"decimal\" in a tuple at the specified index."]
7824 #[doc = ""]
7825 #[doc = " @cassandra{2.1+}"]
7826 #[doc = ""]
7827 #[doc = " @public @memberof CassTuple"]
7828 #[doc = ""]
7829 #[doc = " @param[in] tuple"]
7830 #[doc = " @param[in] index"]
7831 #[doc = " @param[in] varint The value is copied into the tuple object; the"]
7832 #[doc = " memory pointed to by this parameter can be freed after this call."]
7833 #[doc = " @param[in] varint_size"]
7834 #[doc = " @param[in] scale"]
7835 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7836 pub fn cass_tuple_set_decimal(
7837 tuple: *mut CassTuple,
7838 index: usize,
7839 varint: *const cass_byte_t,
7840 varint_size: usize,
7841 scale: cass_int32_t,
7842 ) -> CassError;
7843}
7844extern "C" {
7845 #[doc = " Sets a \"duration\" in a tuple at the specified index."]
7846 #[doc = ""]
7847 #[doc = " @cassandra{3.10+}"]
7848 #[doc = ""]
7849 #[doc = " @public @memberof CassTuple"]
7850 #[doc = ""]
7851 #[doc = " @param[in] tuple"]
7852 #[doc = " @param[in] index"]
7853 #[doc = " @param[in] months"]
7854 #[doc = " @param[in] days"]
7855 #[doc = " @param[in] nanos"]
7856 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7857 pub fn cass_tuple_set_duration(
7858 tuple: *mut CassTuple,
7859 index: usize,
7860 months: cass_int32_t,
7861 days: cass_int32_t,
7862 nanos: cass_int64_t,
7863 ) -> CassError;
7864}
7865extern "C" {
7866 #[doc = " Sets a \"list\", \"map\" or \"set\" in a tuple at the specified index."]
7867 #[doc = ""]
7868 #[doc = " @cassandra{2.1+}"]
7869 #[doc = ""]
7870 #[doc = " @public @memberof CassTuple"]
7871 #[doc = ""]
7872 #[doc = " @param[in] tuple"]
7873 #[doc = " @param[in] index"]
7874 #[doc = " @param[in] value"]
7875 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7876 pub fn cass_tuple_set_collection(
7877 tuple: *mut CassTuple,
7878 index: usize,
7879 value: *const CassCollection,
7880 ) -> CassError;
7881}
7882extern "C" {
7883 #[doc = " Sets a \"tuple\" in a tuple at the specified index."]
7884 #[doc = ""]
7885 #[doc = " @cassandra{2.1+}"]
7886 #[doc = ""]
7887 #[doc = " @public @memberof CassTuple"]
7888 #[doc = ""]
7889 #[doc = " @param[in] tuple"]
7890 #[doc = " @param[in] index"]
7891 #[doc = " @param[in] value"]
7892 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7893 pub fn cass_tuple_set_tuple(
7894 tuple: *mut CassTuple,
7895 index: usize,
7896 value: *const CassTuple,
7897 ) -> CassError;
7898}
7899extern "C" {
7900 #[doc = " Sets a \"udt\" in a tuple at the specified index."]
7901 #[doc = ""]
7902 #[doc = " @cassandra{2.1+}"]
7903 #[doc = ""]
7904 #[doc = " @public @memberof CassTuple"]
7905 #[doc = ""]
7906 #[doc = " @param[in] tuple"]
7907 #[doc = " @param[in] index"]
7908 #[doc = " @param[in] value"]
7909 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7910 pub fn cass_tuple_set_user_type(
7911 tuple: *mut CassTuple,
7912 index: usize,
7913 value: *const CassUserType,
7914 ) -> CassError;
7915}
7916extern "C" {
7917 #[doc = " Creates a new user defined type from existing data type;"]
7918 #[doc = ""]
7919 #[doc = " @cassandra{2.1+}"]
7920 #[doc = ""]
7921 #[doc = " @public @memberof CassUserType"]
7922 #[doc = ""]
7923 #[doc = " @param[in] data_type"]
7924 #[doc = " @return Returns a user defined type that must be freed. NULL is returned if"]
7925 #[doc = " the data type is not a user defined type."]
7926 #[doc = ""]
7927 #[doc = " @see cass_user_type_free()"]
7928 pub fn cass_user_type_new_from_data_type(data_type: *const CassDataType) -> *mut CassUserType;
7929}
7930extern "C" {
7931 #[doc = " Frees a user defined type instance."]
7932 #[doc = ""]
7933 #[doc = " @cassandra{2.1+}"]
7934 #[doc = ""]
7935 #[doc = " @public @memberof CassUserType"]
7936 #[doc = ""]
7937 #[doc = " @param[in] user_type"]
7938 pub fn cass_user_type_free(user_type: *mut CassUserType);
7939}
7940extern "C" {
7941 #[doc = " Gets the data type of a user defined type."]
7942 #[doc = ""]
7943 #[doc = " @cassandra{2.1+}"]
7944 #[doc = ""]
7945 #[doc = " @param[in] user_type"]
7946 #[doc = " @return Returns a reference to the data type of the user defined type."]
7947 #[doc = " Do not free this reference as it is bound to the lifetime of the"]
7948 #[doc = " user defined type."]
7949 pub fn cass_user_type_data_type(user_type: *const CassUserType) -> *const CassDataType;
7950}
7951extern "C" {
7952 #[doc = " Sets a null in a user defined type at the specified index."]
7953 #[doc = ""]
7954 #[doc = " @cassandra{2.1+}"]
7955 #[doc = ""]
7956 #[doc = " @public @memberof CassUserType"]
7957 #[doc = ""]
7958 #[doc = " @param[in] user_type"]
7959 #[doc = " @param[in] index"]
7960 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7961 pub fn cass_user_type_set_null(user_type: *mut CassUserType, index: usize) -> CassError;
7962}
7963extern "C" {
7964 #[doc = " Sets a null in a user defined type at the specified name."]
7965 #[doc = ""]
7966 #[doc = " @cassandra{2.1+}"]
7967 #[doc = ""]
7968 #[doc = " @public @memberof CassUserType"]
7969 #[doc = ""]
7970 #[doc = " @param[in] user_type"]
7971 #[doc = " @param[in] name"]
7972 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
7973 pub fn cass_user_type_set_null_by_name(
7974 user_type: *mut CassUserType,
7975 name: *const ::std::os::raw::c_char,
7976 ) -> CassError;
7977}
7978extern "C" {
7979 #[doc = " Same as cass_user_type_set_null_by_name(), but with lengths for string"]
7980 #[doc = " parameters."]
7981 #[doc = ""]
7982 #[doc = " @cassandra{2.1+}"]
7983 #[doc = ""]
7984 #[doc = " @public @memberof CassUserType"]
7985 #[doc = ""]
7986 #[doc = " @param[in] user_type"]
7987 #[doc = " @param[in] name"]
7988 #[doc = " @param[in] name_length"]
7989 #[doc = " @return same as cass_user_type_set_null_by_name()"]
7990 #[doc = ""]
7991 #[doc = " @see cass_user_type_set_null_by_name()"]
7992 pub fn cass_user_type_set_null_by_name_n(
7993 user_type: *mut CassUserType,
7994 name: *const ::std::os::raw::c_char,
7995 name_length: usize,
7996 ) -> CassError;
7997}
7998extern "C" {
7999 #[doc = " Sets a \"tinyint\" in a user defined type at the specified index."]
8000 #[doc = ""]
8001 #[doc = " @cassandra{2.2+}"]
8002 #[doc = ""]
8003 #[doc = " @public @memberof CassUserType"]
8004 #[doc = ""]
8005 #[doc = " @param[in] user_type"]
8006 #[doc = " @param[in] index"]
8007 #[doc = " @param[in] value"]
8008 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8009 pub fn cass_user_type_set_int8(
8010 user_type: *mut CassUserType,
8011 index: usize,
8012 value: cass_int8_t,
8013 ) -> CassError;
8014}
8015extern "C" {
8016 #[doc = " Sets a \"tinyint\" in a user defined type at the specified name."]
8017 #[doc = ""]
8018 #[doc = " @cassandra{2.2+}"]
8019 #[doc = ""]
8020 #[doc = " @public @memberof CassUserType"]
8021 #[doc = ""]
8022 #[doc = " @param[in] user_type"]
8023 #[doc = " @param[in] name"]
8024 #[doc = " @param[in] value"]
8025 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8026 pub fn cass_user_type_set_int8_by_name(
8027 user_type: *mut CassUserType,
8028 name: *const ::std::os::raw::c_char,
8029 value: cass_int8_t,
8030 ) -> CassError;
8031}
8032extern "C" {
8033 #[doc = " Same as cass_user_type_set_int8_by_name(), but with lengths for string"]
8034 #[doc = " parameters."]
8035 #[doc = ""]
8036 #[doc = " @cassandra{2.2+}"]
8037 #[doc = ""]
8038 #[doc = " @public @memberof CassUserType"]
8039 #[doc = ""]
8040 #[doc = " @param[in] user_type"]
8041 #[doc = " @param[in] name"]
8042 #[doc = " @param[in] name_length"]
8043 #[doc = " @param[in] value"]
8044 #[doc = " @return same as cass_user_type_set_int8_by_name()"]
8045 #[doc = ""]
8046 #[doc = " @see cass_user_type_set_int8_by_name()"]
8047 pub fn cass_user_type_set_int8_by_name_n(
8048 user_type: *mut CassUserType,
8049 name: *const ::std::os::raw::c_char,
8050 name_length: usize,
8051 value: cass_int8_t,
8052 ) -> CassError;
8053}
8054extern "C" {
8055 #[doc = " Sets an \"smallint\" in a user defined type at the specified index."]
8056 #[doc = ""]
8057 #[doc = " @cassandra{2.2+}"]
8058 #[doc = ""]
8059 #[doc = " @public @memberof CassUserType"]
8060 #[doc = ""]
8061 #[doc = " @param[in] user_type"]
8062 #[doc = " @param[in] index"]
8063 #[doc = " @param[in] value"]
8064 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8065 pub fn cass_user_type_set_int16(
8066 user_type: *mut CassUserType,
8067 index: usize,
8068 value: cass_int16_t,
8069 ) -> CassError;
8070}
8071extern "C" {
8072 #[doc = " Sets an \"smallint\" in a user defined type at the specified name."]
8073 #[doc = ""]
8074 #[doc = " @cassandra{2.2+}"]
8075 #[doc = ""]
8076 #[doc = " @public @memberof CassUserType"]
8077 #[doc = ""]
8078 #[doc = " @param[in] user_type"]
8079 #[doc = " @param[in] name"]
8080 #[doc = " @param[in] value"]
8081 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8082 pub fn cass_user_type_set_int16_by_name(
8083 user_type: *mut CassUserType,
8084 name: *const ::std::os::raw::c_char,
8085 value: cass_int16_t,
8086 ) -> CassError;
8087}
8088extern "C" {
8089 #[doc = " Same as cass_user_type_set_int16_by_name(), but with lengths for string"]
8090 #[doc = " parameters."]
8091 #[doc = ""]
8092 #[doc = " @cassandra{2.2+}"]
8093 #[doc = ""]
8094 #[doc = " @public @memberof CassUserType"]
8095 #[doc = ""]
8096 #[doc = " @param[in] user_type"]
8097 #[doc = " @param[in] name"]
8098 #[doc = " @param[in] name_length"]
8099 #[doc = " @param[in] value"]
8100 #[doc = " @return same as cass_user_type_set_int16_by_name()"]
8101 #[doc = ""]
8102 #[doc = " @see cass_user_type_set_int16_by_name()"]
8103 pub fn cass_user_type_set_int16_by_name_n(
8104 user_type: *mut CassUserType,
8105 name: *const ::std::os::raw::c_char,
8106 name_length: usize,
8107 value: cass_int16_t,
8108 ) -> CassError;
8109}
8110extern "C" {
8111 #[doc = " Sets an \"int\" in a user defined type at the specified index."]
8112 #[doc = ""]
8113 #[doc = " @cassandra{2.1+}"]
8114 #[doc = ""]
8115 #[doc = " @public @memberof CassUserType"]
8116 #[doc = ""]
8117 #[doc = " @param[in] user_type"]
8118 #[doc = " @param[in] index"]
8119 #[doc = " @param[in] value"]
8120 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8121 pub fn cass_user_type_set_int32(
8122 user_type: *mut CassUserType,
8123 index: usize,
8124 value: cass_int32_t,
8125 ) -> CassError;
8126}
8127extern "C" {
8128 #[doc = " Sets an \"int\" in a user defined type at the specified name."]
8129 #[doc = ""]
8130 #[doc = " @cassandra{2.1+}"]
8131 #[doc = ""]
8132 #[doc = " @public @memberof CassUserType"]
8133 #[doc = ""]
8134 #[doc = " @param[in] user_type"]
8135 #[doc = " @param[in] name"]
8136 #[doc = " @param[in] value"]
8137 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8138 pub fn cass_user_type_set_int32_by_name(
8139 user_type: *mut CassUserType,
8140 name: *const ::std::os::raw::c_char,
8141 value: cass_int32_t,
8142 ) -> CassError;
8143}
8144extern "C" {
8145 #[doc = " Same as cass_user_type_set_int32_by_name(), but with lengths for string"]
8146 #[doc = " parameters."]
8147 #[doc = ""]
8148 #[doc = " @cassandra{2.1+}"]
8149 #[doc = ""]
8150 #[doc = " @public @memberof CassUserType"]
8151 #[doc = ""]
8152 #[doc = " @param[in] user_type"]
8153 #[doc = " @param[in] name"]
8154 #[doc = " @param[in] name_length"]
8155 #[doc = " @param[in] value"]
8156 #[doc = " @return same as cass_user_type_set_int32_by_name()"]
8157 #[doc = ""]
8158 #[doc = " @see cass_user_type_set_int32_by_name()"]
8159 pub fn cass_user_type_set_int32_by_name_n(
8160 user_type: *mut CassUserType,
8161 name: *const ::std::os::raw::c_char,
8162 name_length: usize,
8163 value: cass_int32_t,
8164 ) -> CassError;
8165}
8166extern "C" {
8167 #[doc = " Sets a \"date\" in a user defined type at the specified index."]
8168 #[doc = ""]
8169 #[doc = " @cassandra{2.2+}"]
8170 #[doc = ""]
8171 #[doc = " @public @memberof CassUserType"]
8172 #[doc = ""]
8173 #[doc = " @param[in] user_type"]
8174 #[doc = " @param[in] index"]
8175 #[doc = " @param[in] value"]
8176 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8177 pub fn cass_user_type_set_uint32(
8178 user_type: *mut CassUserType,
8179 index: usize,
8180 value: cass_uint32_t,
8181 ) -> CassError;
8182}
8183extern "C" {
8184 #[doc = " Sets a \"date\" in a user defined type at the specified name."]
8185 #[doc = ""]
8186 #[doc = " @cassandra{2.2+}"]
8187 #[doc = ""]
8188 #[doc = " @public @memberof CassUserType"]
8189 #[doc = ""]
8190 #[doc = " @param[in] user_type"]
8191 #[doc = " @param[in] name"]
8192 #[doc = " @param[in] value"]
8193 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8194 pub fn cass_user_type_set_uint32_by_name(
8195 user_type: *mut CassUserType,
8196 name: *const ::std::os::raw::c_char,
8197 value: cass_uint32_t,
8198 ) -> CassError;
8199}
8200extern "C" {
8201 #[doc = " Same as cass_user_type_set_uint32_by_name(), but with lengths for string"]
8202 #[doc = " parameters."]
8203 #[doc = ""]
8204 #[doc = " @cassandra{2.2+}"]
8205 #[doc = ""]
8206 #[doc = " @public @memberof CassUserType"]
8207 #[doc = ""]
8208 #[doc = " @param[in] user_type"]
8209 #[doc = " @param[in] name"]
8210 #[doc = " @param[in] name_length"]
8211 #[doc = " @param[in] value"]
8212 #[doc = " @return same as cass_user_type_set_uint32_by_name()"]
8213 #[doc = ""]
8214 #[doc = " @see cass_user_type_set_uint32_by_name()"]
8215 pub fn cass_user_type_set_uint32_by_name_n(
8216 user_type: *mut CassUserType,
8217 name: *const ::std::os::raw::c_char,
8218 name_length: usize,
8219 value: cass_uint32_t,
8220 ) -> CassError;
8221}
8222extern "C" {
8223 #[doc = " Sets an \"bigint\", \"counter\", \"timestamp\" or \"time\" in a"]
8224 #[doc = " user defined type at the specified index."]
8225 #[doc = ""]
8226 #[doc = " @cassandra{2.1+}"]
8227 #[doc = ""]
8228 #[doc = " @public @memberof CassUserType"]
8229 #[doc = ""]
8230 #[doc = " @param[in] user_type"]
8231 #[doc = " @param[in] index"]
8232 #[doc = " @param[in] value"]
8233 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8234 pub fn cass_user_type_set_int64(
8235 user_type: *mut CassUserType,
8236 index: usize,
8237 value: cass_int64_t,
8238 ) -> CassError;
8239}
8240extern "C" {
8241 #[doc = " Sets an \"bigint\", \"counter\", \"timestamp\" or \"time\" in a"]
8242 #[doc = " user defined type at the specified name."]
8243 #[doc = ""]
8244 #[doc = " @cassandra{2.1+}"]
8245 #[doc = ""]
8246 #[doc = " @public @memberof CassUserType"]
8247 #[doc = ""]
8248 #[doc = " @param[in] user_type"]
8249 #[doc = " @param[in] name"]
8250 #[doc = " @param[in] value"]
8251 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8252 pub fn cass_user_type_set_int64_by_name(
8253 user_type: *mut CassUserType,
8254 name: *const ::std::os::raw::c_char,
8255 value: cass_int64_t,
8256 ) -> CassError;
8257}
8258extern "C" {
8259 #[doc = " Same as cass_user_type_set_int64_by_name(), but with lengths for string"]
8260 #[doc = " parameters."]
8261 #[doc = ""]
8262 #[doc = " @cassandra{2.1+}"]
8263 #[doc = ""]
8264 #[doc = " @public @memberof CassUserType"]
8265 #[doc = ""]
8266 #[doc = " @param[in] user_type"]
8267 #[doc = " @param[in] name"]
8268 #[doc = " @param[in] name_length"]
8269 #[doc = " @param[in] value"]
8270 #[doc = " @return same as cass_user_type_set_int64_by_name()"]
8271 #[doc = ""]
8272 #[doc = " @see cass_user_type_set_int64_by_name()"]
8273 pub fn cass_user_type_set_int64_by_name_n(
8274 user_type: *mut CassUserType,
8275 name: *const ::std::os::raw::c_char,
8276 name_length: usize,
8277 value: cass_int64_t,
8278 ) -> CassError;
8279}
8280extern "C" {
8281 #[doc = " Sets a \"float\" in a user defined type at the specified index."]
8282 #[doc = ""]
8283 #[doc = " @cassandra{2.1+}"]
8284 #[doc = ""]
8285 #[doc = " @public @memberof CassUserType"]
8286 #[doc = ""]
8287 #[doc = " @param[in] user_type"]
8288 #[doc = " @param[in] index"]
8289 #[doc = " @param[in] value"]
8290 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8291 pub fn cass_user_type_set_float(
8292 user_type: *mut CassUserType,
8293 index: usize,
8294 value: cass_float_t,
8295 ) -> CassError;
8296}
8297extern "C" {
8298 #[doc = " Sets a \"float\" in a user defined type at the specified name."]
8299 #[doc = ""]
8300 #[doc = " @cassandra{2.1+}"]
8301 #[doc = ""]
8302 #[doc = " @public @memberof CassUserType"]
8303 #[doc = ""]
8304 #[doc = " @param[in] user_type"]
8305 #[doc = " @param[in] name"]
8306 #[doc = " @param[in] value"]
8307 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8308 pub fn cass_user_type_set_float_by_name(
8309 user_type: *mut CassUserType,
8310 name: *const ::std::os::raw::c_char,
8311 value: cass_float_t,
8312 ) -> CassError;
8313}
8314extern "C" {
8315 #[doc = " Same as cass_user_type_set_float_by_name(), but with lengths for string"]
8316 #[doc = " parameters."]
8317 #[doc = ""]
8318 #[doc = " @cassandra{2.1+}"]
8319 #[doc = ""]
8320 #[doc = " @public @memberof CassUserType"]
8321 #[doc = ""]
8322 #[doc = " @param[in] user_type"]
8323 #[doc = " @param[in] name"]
8324 #[doc = " @param[in] name_length"]
8325 #[doc = " @param[in] value"]
8326 #[doc = " @return same as cass_user_type_set_float_by_name()"]
8327 #[doc = ""]
8328 #[doc = " @see cass_user_type_set_float_by_name()"]
8329 pub fn cass_user_type_set_float_by_name_n(
8330 user_type: *mut CassUserType,
8331 name: *const ::std::os::raw::c_char,
8332 name_length: usize,
8333 value: cass_float_t,
8334 ) -> CassError;
8335}
8336extern "C" {
8337 #[doc = " Sets an \"double\" in a user defined type at the specified index."]
8338 #[doc = ""]
8339 #[doc = " @cassandra{2.1+}"]
8340 #[doc = ""]
8341 #[doc = " @public @memberof CassUserType"]
8342 #[doc = ""]
8343 #[doc = " @param[in] user_type"]
8344 #[doc = " @param[in] index"]
8345 #[doc = " @param[in] value"]
8346 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8347 pub fn cass_user_type_set_double(
8348 user_type: *mut CassUserType,
8349 index: usize,
8350 value: cass_double_t,
8351 ) -> CassError;
8352}
8353extern "C" {
8354 #[doc = " Sets an \"double\" in a user defined type at the specified name."]
8355 #[doc = ""]
8356 #[doc = " @cassandra{2.1+}"]
8357 #[doc = ""]
8358 #[doc = " @public @memberof CassUserType"]
8359 #[doc = ""]
8360 #[doc = " @param[in] user_type"]
8361 #[doc = " @param[in] name"]
8362 #[doc = " @param[in] value"]
8363 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8364 pub fn cass_user_type_set_double_by_name(
8365 user_type: *mut CassUserType,
8366 name: *const ::std::os::raw::c_char,
8367 value: cass_double_t,
8368 ) -> CassError;
8369}
8370extern "C" {
8371 #[doc = " Same as cass_user_type_set_double_by_name(), but with lengths for string"]
8372 #[doc = " parameters."]
8373 #[doc = ""]
8374 #[doc = " @cassandra{2.1+}"]
8375 #[doc = ""]
8376 #[doc = " @public @memberof CassUserType"]
8377 #[doc = ""]
8378 #[doc = " @param[in] user_type"]
8379 #[doc = " @param[in] name"]
8380 #[doc = " @param[in] name_length"]
8381 #[doc = " @param[in] value"]
8382 #[doc = " @return same as cass_user_type_set_double_by_name()"]
8383 #[doc = ""]
8384 #[doc = " @see cass_user_type_set_double_by_name()"]
8385 pub fn cass_user_type_set_double_by_name_n(
8386 user_type: *mut CassUserType,
8387 name: *const ::std::os::raw::c_char,
8388 name_length: usize,
8389 value: cass_double_t,
8390 ) -> CassError;
8391}
8392extern "C" {
8393 #[doc = " Sets a \"boolean\" in a user defined type at the specified index."]
8394 #[doc = ""]
8395 #[doc = " @cassandra{2.1+}"]
8396 #[doc = ""]
8397 #[doc = " @public @memberof CassUserType"]
8398 #[doc = ""]
8399 #[doc = " @param[in] user_type"]
8400 #[doc = " @param[in] index"]
8401 #[doc = " @param[in] value"]
8402 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8403 pub fn cass_user_type_set_bool(
8404 user_type: *mut CassUserType,
8405 index: usize,
8406 value: cass_bool_t,
8407 ) -> CassError;
8408}
8409extern "C" {
8410 #[doc = " Sets a \"boolean\" in a user defined type at the specified name."]
8411 #[doc = ""]
8412 #[doc = " @cassandra{2.1+}"]
8413 #[doc = ""]
8414 #[doc = " @public @memberof CassUserType"]
8415 #[doc = ""]
8416 #[doc = " @param[in] user_type"]
8417 #[doc = " @param[in] name"]
8418 #[doc = " @param[in] value"]
8419 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8420 pub fn cass_user_type_set_bool_by_name(
8421 user_type: *mut CassUserType,
8422 name: *const ::std::os::raw::c_char,
8423 value: cass_bool_t,
8424 ) -> CassError;
8425}
8426extern "C" {
8427 #[doc = " Same as cass_user_type_set_double_by_name(), but with lengths for string"]
8428 #[doc = " parameters."]
8429 #[doc = ""]
8430 #[doc = " @cassandra{2.1+}"]
8431 #[doc = ""]
8432 #[doc = " @public @memberof CassUserType"]
8433 #[doc = ""]
8434 #[doc = " @param[in] user_type"]
8435 #[doc = " @param[in] name"]
8436 #[doc = " @param[in] name_length"]
8437 #[doc = " @param[in] value"]
8438 #[doc = " @return same as cass_user_type_set_double_by_name()"]
8439 #[doc = ""]
8440 #[doc = " @see cass_user_type_set_double_by_name()"]
8441 pub fn cass_user_type_set_bool_by_name_n(
8442 user_type: *mut CassUserType,
8443 name: *const ::std::os::raw::c_char,
8444 name_length: usize,
8445 value: cass_bool_t,
8446 ) -> CassError;
8447}
8448extern "C" {
8449 #[doc = " Sets an \"ascii\", \"text\" or \"varchar\" in a user defined type at the"]
8450 #[doc = " specified index."]
8451 #[doc = ""]
8452 #[doc = " @cassandra{2.1+}"]
8453 #[doc = ""]
8454 #[doc = " @public @memberof CassUserType"]
8455 #[doc = ""]
8456 #[doc = " @param[in] user_type"]
8457 #[doc = " @param[in] index"]
8458 #[doc = " @param[in] value"]
8459 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8460 pub fn cass_user_type_set_string(
8461 user_type: *mut CassUserType,
8462 index: usize,
8463 value: *const ::std::os::raw::c_char,
8464 ) -> CassError;
8465}
8466extern "C" {
8467 #[doc = " Same as cass_user_type_set_string(), but with lengths for string"]
8468 #[doc = " parameters."]
8469 #[doc = ""]
8470 #[doc = " @cassandra{2.1+}"]
8471 #[doc = ""]
8472 #[doc = " @public @memberof CassUserType"]
8473 #[doc = ""]
8474 #[doc = " @param[in] user_type"]
8475 #[doc = " @param[in] index"]
8476 #[doc = " @param[in] value"]
8477 #[doc = " @param[in] value_length"]
8478 #[doc = " @return same as cass_user_type_set_string()"]
8479 #[doc = ""]
8480 #[doc = " @see cass_user_type_set_string()"]
8481 pub fn cass_user_type_set_string_n(
8482 user_type: *mut CassUserType,
8483 index: usize,
8484 value: *const ::std::os::raw::c_char,
8485 value_length: usize,
8486 ) -> CassError;
8487}
8488extern "C" {
8489 #[doc = " Sets an \"ascii\", \"text\" or \"varchar\" in a user defined type at the"]
8490 #[doc = " specified name."]
8491 #[doc = ""]
8492 #[doc = " @cassandra{2.1+}"]
8493 #[doc = ""]
8494 #[doc = " @public @memberof CassUserType"]
8495 #[doc = ""]
8496 #[doc = " @param[in] user_type"]
8497 #[doc = " @param[in] name"]
8498 #[doc = " @param[in] value"]
8499 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8500 pub fn cass_user_type_set_string_by_name(
8501 user_type: *mut CassUserType,
8502 name: *const ::std::os::raw::c_char,
8503 value: *const ::std::os::raw::c_char,
8504 ) -> CassError;
8505}
8506extern "C" {
8507 #[doc = " Same as cass_user_type_set_string_by_name(), but with lengths for string"]
8508 #[doc = " parameters."]
8509 #[doc = ""]
8510 #[doc = " @cassandra{2.1+}"]
8511 #[doc = ""]
8512 #[doc = " @public @memberof CassUserType"]
8513 #[doc = ""]
8514 #[doc = " @param[in] user_type"]
8515 #[doc = " @param[in] name"]
8516 #[doc = " @param[in] name_length"]
8517 #[doc = " @param[in] value"]
8518 #[doc = " @param[in] value_length"]
8519 #[doc = " @return same as cass_user_type_set_string_by_name()"]
8520 #[doc = ""]
8521 #[doc = " @see cass_user_type_set_string_by_name()"]
8522 pub fn cass_user_type_set_string_by_name_n(
8523 user_type: *mut CassUserType,
8524 name: *const ::std::os::raw::c_char,
8525 name_length: usize,
8526 value: *const ::std::os::raw::c_char,
8527 value_length: usize,
8528 ) -> CassError;
8529}
8530extern "C" {
8531 #[doc = " Sets a \"blob\" \"varint\" or \"custom\" in a user defined type at the specified index."]
8532 #[doc = ""]
8533 #[doc = " @cassandra{2.1+}"]
8534 #[doc = ""]
8535 #[doc = " @public @memberof CassUserType"]
8536 #[doc = ""]
8537 #[doc = " @param[in] user_type"]
8538 #[doc = " @param[in] index"]
8539 #[doc = " @param[in] value"]
8540 #[doc = " @param[in] value_size"]
8541 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8542 pub fn cass_user_type_set_bytes(
8543 user_type: *mut CassUserType,
8544 index: usize,
8545 value: *const cass_byte_t,
8546 value_size: usize,
8547 ) -> CassError;
8548}
8549extern "C" {
8550 #[doc = " Sets a \"blob\", \"varint\" or \"custom\" in a user defined type at the specified name."]
8551 #[doc = ""]
8552 #[doc = " @cassandra{2.1+}"]
8553 #[doc = ""]
8554 #[doc = " @public @memberof CassUserType"]
8555 #[doc = ""]
8556 #[doc = " @param[in] user_type"]
8557 #[doc = " @param[in] name"]
8558 #[doc = " @param[in] value"]
8559 #[doc = " @param[in] value_size"]
8560 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8561 pub fn cass_user_type_set_bytes_by_name(
8562 user_type: *mut CassUserType,
8563 name: *const ::std::os::raw::c_char,
8564 value: *const cass_byte_t,
8565 value_size: usize,
8566 ) -> CassError;
8567}
8568extern "C" {
8569 #[doc = " Same as cass_user_type_set_bytes_by_name(), but with lengths for string"]
8570 #[doc = " parameters."]
8571 #[doc = ""]
8572 #[doc = " @cassandra{2.1+}"]
8573 #[doc = ""]
8574 #[doc = " @public @memberof CassUserType"]
8575 #[doc = ""]
8576 #[doc = " @param[in] user_type"]
8577 #[doc = " @param[in] name"]
8578 #[doc = " @param[in] name_length"]
8579 #[doc = " @param[in] value"]
8580 #[doc = " @param[in] value_size"]
8581 #[doc = " @return same as cass_user_type_set_bytes_by_name()"]
8582 #[doc = ""]
8583 #[doc = " @see cass_user_type_set_bytes_by_name()"]
8584 pub fn cass_user_type_set_bytes_by_name_n(
8585 user_type: *mut CassUserType,
8586 name: *const ::std::os::raw::c_char,
8587 name_length: usize,
8588 value: *const cass_byte_t,
8589 value_size: usize,
8590 ) -> CassError;
8591}
8592extern "C" {
8593 #[doc = " Sets a \"custom\" in a user defined type at the specified index."]
8594 #[doc = ""]
8595 #[doc = " @public @memberof CassUserType"]
8596 #[doc = ""]
8597 #[doc = " @param[in] user_type"]
8598 #[doc = " @param[in] index"]
8599 #[doc = " @param[in] class_name"]
8600 #[doc = " @param[in] value"]
8601 #[doc = " @param[in] value_size"]
8602 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8603 pub fn cass_user_type_set_custom(
8604 user_type: *mut CassUserType,
8605 index: usize,
8606 class_name: *const ::std::os::raw::c_char,
8607 value: *const cass_byte_t,
8608 value_size: usize,
8609 ) -> CassError;
8610}
8611extern "C" {
8612 #[doc = " Same as cass_user_type_set_custom(), but with lengths for string"]
8613 #[doc = " parameters."]
8614 #[doc = ""]
8615 #[doc = " @public @memberof CassUserType"]
8616 #[doc = ""]
8617 #[doc = " @param[in] user_type"]
8618 #[doc = " @param[in] index"]
8619 #[doc = " @param[in] class_name"]
8620 #[doc = " @param[in] class_name_length"]
8621 #[doc = " @param[in] value"]
8622 #[doc = " @param[in] value_size"]
8623 #[doc = " @return same as cass_user_type_set_custom()"]
8624 #[doc = ""]
8625 #[doc = " @see cass_user_type_set_custom()"]
8626 pub fn cass_user_type_set_custom_n(
8627 user_type: *mut CassUserType,
8628 index: usize,
8629 class_name: *const ::std::os::raw::c_char,
8630 class_name_length: usize,
8631 value: *const cass_byte_t,
8632 value_size: usize,
8633 ) -> CassError;
8634}
8635extern "C" {
8636 #[doc = " Sets a \"custom\" in a user defined type at the specified name."]
8637 #[doc = ""]
8638 #[doc = " @public @memberof CassUserType"]
8639 #[doc = ""]
8640 #[doc = " @param[in] user_type"]
8641 #[doc = " @param[in] name"]
8642 #[doc = " @param[in] class_name"]
8643 #[doc = " @param[in] value"]
8644 #[doc = " @param[in] value_size"]
8645 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8646 pub fn cass_user_type_set_custom_by_name(
8647 user_type: *mut CassUserType,
8648 name: *const ::std::os::raw::c_char,
8649 class_name: *const ::std::os::raw::c_char,
8650 value: *const cass_byte_t,
8651 value_size: usize,
8652 ) -> CassError;
8653}
8654extern "C" {
8655 #[doc = " Same as cass_user_type_set_custom_by_name(), but with lengths for string"]
8656 #[doc = " parameters."]
8657 #[doc = ""]
8658 #[doc = " @public @memberof CassUserType"]
8659 #[doc = ""]
8660 #[doc = " @param[in] user_type"]
8661 #[doc = " @param[in] name"]
8662 #[doc = " @param[in] name_length"]
8663 #[doc = " @param[in] class_name"]
8664 #[doc = " @param[in] class_name_length"]
8665 #[doc = " @param[in] value"]
8666 #[doc = " @param[in] value_size"]
8667 #[doc = " @return same as cass_user_type_set_custom_by_name()"]
8668 #[doc = ""]
8669 #[doc = " @see cass_user_type_set_custom_by_name()"]
8670 pub fn cass_user_type_set_custom_by_name_n(
8671 user_type: *mut CassUserType,
8672 name: *const ::std::os::raw::c_char,
8673 name_length: usize,
8674 class_name: *const ::std::os::raw::c_char,
8675 class_name_length: usize,
8676 value: *const cass_byte_t,
8677 value_size: usize,
8678 ) -> CassError;
8679}
8680extern "C" {
8681 #[doc = " Sets a \"uuid\" or \"timeuuid\" in a user defined type at the specified index."]
8682 #[doc = ""]
8683 #[doc = " @cassandra{2.1+}"]
8684 #[doc = ""]
8685 #[doc = " @public @memberof CassUserType"]
8686 #[doc = ""]
8687 #[doc = " @param[in] user_type"]
8688 #[doc = " @param[in] index"]
8689 #[doc = " @param[in] value"]
8690 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8691 pub fn cass_user_type_set_uuid(
8692 user_type: *mut CassUserType,
8693 index: usize,
8694 value: CassUuid,
8695 ) -> CassError;
8696}
8697extern "C" {
8698 #[doc = " Sets a \"uuid\" or \"timeuuid\" in a user defined type at the specified name."]
8699 #[doc = ""]
8700 #[doc = " @cassandra{2.1+}"]
8701 #[doc = ""]
8702 #[doc = " @public @memberof CassUserType"]
8703 #[doc = ""]
8704 #[doc = " @param[in] user_type"]
8705 #[doc = " @param[in] name"]
8706 #[doc = " @param[in] value"]
8707 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8708 pub fn cass_user_type_set_uuid_by_name(
8709 user_type: *mut CassUserType,
8710 name: *const ::std::os::raw::c_char,
8711 value: CassUuid,
8712 ) -> CassError;
8713}
8714extern "C" {
8715 #[doc = " Same as cass_user_type_set_uuid_by_name(), but with lengths for string"]
8716 #[doc = " parameters."]
8717 #[doc = ""]
8718 #[doc = " @cassandra{2.1+}"]
8719 #[doc = ""]
8720 #[doc = " @public @memberof CassUserType"]
8721 #[doc = ""]
8722 #[doc = " @param[in] user_type"]
8723 #[doc = " @param[in] name"]
8724 #[doc = " @param[in] name_length"]
8725 #[doc = " @param[in] value"]
8726 #[doc = " @return same as cass_user_type_set_uuid_by_name()"]
8727 #[doc = ""]
8728 #[doc = " @see cass_user_type_set_uuid_by_name()"]
8729 pub fn cass_user_type_set_uuid_by_name_n(
8730 user_type: *mut CassUserType,
8731 name: *const ::std::os::raw::c_char,
8732 name_length: usize,
8733 value: CassUuid,
8734 ) -> CassError;
8735}
8736extern "C" {
8737 #[doc = " Sets a \"inet\" in a user defined type at the specified index."]
8738 #[doc = ""]
8739 #[doc = " @cassandra{2.1+}"]
8740 #[doc = ""]
8741 #[doc = " @public @memberof CassUserType"]
8742 #[doc = ""]
8743 #[doc = " @param[in] user_type"]
8744 #[doc = " @param[in] index"]
8745 #[doc = " @param[in] value"]
8746 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8747 pub fn cass_user_type_set_inet(
8748 user_type: *mut CassUserType,
8749 index: usize,
8750 value: CassInet,
8751 ) -> CassError;
8752}
8753extern "C" {
8754 #[doc = " Sets a \"inet\" in a user defined type at the specified name."]
8755 #[doc = ""]
8756 #[doc = " @cassandra{2.1+}"]
8757 #[doc = ""]
8758 #[doc = " @public @memberof CassUserType"]
8759 #[doc = ""]
8760 #[doc = " @param[in] user_type"]
8761 #[doc = " @param[in] name"]
8762 #[doc = " @param[in] value"]
8763 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8764 pub fn cass_user_type_set_inet_by_name(
8765 user_type: *mut CassUserType,
8766 name: *const ::std::os::raw::c_char,
8767 value: CassInet,
8768 ) -> CassError;
8769}
8770extern "C" {
8771 #[doc = " Same as cass_user_type_set_inet_by_name(), but with lengths for string"]
8772 #[doc = " parameters."]
8773 #[doc = ""]
8774 #[doc = " @cassandra{2.1+}"]
8775 #[doc = ""]
8776 #[doc = " @public @memberof CassUserType"]
8777 #[doc = ""]
8778 #[doc = " @param[in] user_type"]
8779 #[doc = " @param[in] name"]
8780 #[doc = " @param[in] name_length"]
8781 #[doc = " @param[in] value"]
8782 #[doc = " @return same as cass_user_type_set_inet_by_name()"]
8783 #[doc = ""]
8784 #[doc = " @see cass_user_type_set_inet_by_name()"]
8785 pub fn cass_user_type_set_inet_by_name_n(
8786 user_type: *mut CassUserType,
8787 name: *const ::std::os::raw::c_char,
8788 name_length: usize,
8789 value: CassInet,
8790 ) -> CassError;
8791}
8792extern "C" {
8793 #[doc = " Sets an \"decimal\" in a user defined type at the specified index."]
8794 #[doc = ""]
8795 #[doc = " @cassandra{2.1+}"]
8796 #[doc = ""]
8797 #[doc = " @public @memberof CassUserType"]
8798 #[doc = ""]
8799 #[doc = " @param[in] user_type"]
8800 #[doc = " @param[in] index"]
8801 #[doc = " @param[in] varint"]
8802 #[doc = " @param[in] varint_size"]
8803 #[doc = " @param[in] scale"]
8804 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8805 pub fn cass_user_type_set_decimal(
8806 user_type: *mut CassUserType,
8807 index: usize,
8808 varint: *const cass_byte_t,
8809 varint_size: usize,
8810 scale: ::std::os::raw::c_int,
8811 ) -> CassError;
8812}
8813extern "C" {
8814 #[doc = " Sets \"decimal\" in a user defined type at the specified name."]
8815 #[doc = ""]
8816 #[doc = " @cassandra{2.1+}"]
8817 #[doc = ""]
8818 #[doc = " @public @memberof CassUserType"]
8819 #[doc = ""]
8820 #[doc = " @param[in] user_type"]
8821 #[doc = " @param[in] name"]
8822 #[doc = " @param[in] varint"]
8823 #[doc = " @param[in] varint_size"]
8824 #[doc = " @param[in] scale"]
8825 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8826 pub fn cass_user_type_set_decimal_by_name(
8827 user_type: *mut CassUserType,
8828 name: *const ::std::os::raw::c_char,
8829 varint: *const cass_byte_t,
8830 varint_size: usize,
8831 scale: ::std::os::raw::c_int,
8832 ) -> CassError;
8833}
8834extern "C" {
8835 #[doc = " Same as cass_user_type_set_decimal_by_name(), but with lengths for string"]
8836 #[doc = " parameters."]
8837 #[doc = ""]
8838 #[doc = " @cassandra{2.1+}"]
8839 #[doc = ""]
8840 #[doc = " @public @memberof CassUserType"]
8841 #[doc = ""]
8842 #[doc = " @param[in] user_type"]
8843 #[doc = " @param[in] name"]
8844 #[doc = " @param[in] name_length"]
8845 #[doc = " @param[in] varint"]
8846 #[doc = " @param[in] varint_size"]
8847 #[doc = " @param[in] scale"]
8848 #[doc = " @return same as cass_user_type_set_decimal_by_name()"]
8849 #[doc = ""]
8850 #[doc = " @see cass_user_type_set_decimal_by_name()"]
8851 pub fn cass_user_type_set_decimal_by_name_n(
8852 user_type: *mut CassUserType,
8853 name: *const ::std::os::raw::c_char,
8854 name_length: usize,
8855 varint: *const cass_byte_t,
8856 varint_size: usize,
8857 scale: ::std::os::raw::c_int,
8858 ) -> CassError;
8859}
8860extern "C" {
8861 #[doc = " Sets a \"duration\" in a user defined type at the specified index."]
8862 #[doc = ""]
8863 #[doc = " @cassandra{3.10+}"]
8864 #[doc = ""]
8865 #[doc = " @public @memberof CassUserType"]
8866 #[doc = ""]
8867 #[doc = " @param[in] user_type"]
8868 #[doc = " @param[in] index"]
8869 #[doc = " @param[in] months"]
8870 #[doc = " @param[in] days"]
8871 #[doc = " @param[in] nanos"]
8872 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8873 pub fn cass_user_type_set_duration(
8874 user_type: *mut CassUserType,
8875 index: usize,
8876 months: cass_int32_t,
8877 days: cass_int32_t,
8878 nanos: cass_int64_t,
8879 ) -> CassError;
8880}
8881extern "C" {
8882 #[doc = " Sets \"duration\" in a user defined type at the specified name."]
8883 #[doc = ""]
8884 #[doc = " @cassandra{3.10+}"]
8885 #[doc = ""]
8886 #[doc = " @public @memberof CassUserType"]
8887 #[doc = ""]
8888 #[doc = " @param[in] user_type"]
8889 #[doc = " @param[in] name"]
8890 #[doc = " @param[in] months"]
8891 #[doc = " @param[in] days"]
8892 #[doc = " @param[in] nanos"]
8893 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8894 pub fn cass_user_type_set_duration_by_name(
8895 user_type: *mut CassUserType,
8896 name: *const ::std::os::raw::c_char,
8897 months: cass_int32_t,
8898 days: cass_int32_t,
8899 nanos: cass_int64_t,
8900 ) -> CassError;
8901}
8902extern "C" {
8903 #[doc = " Same as cass_user_type_set_duration_by_name(), but with lengths for string"]
8904 #[doc = " parameters."]
8905 #[doc = ""]
8906 #[doc = " @cassandra{3.10+}"]
8907 #[doc = ""]
8908 #[doc = " @public @memberof CassUserType"]
8909 #[doc = ""]
8910 #[doc = " @param[in] user_type"]
8911 #[doc = " @param[in] name"]
8912 #[doc = " @param[in] name_length"]
8913 #[doc = " @param[in] months"]
8914 #[doc = " @param[in] days"]
8915 #[doc = " @param[in] nanos"]
8916 #[doc = " @return same as cass_user_type_set_duration_by_name()"]
8917 #[doc = ""]
8918 #[doc = " @see cass_user_type_set_duration_by_name()"]
8919 pub fn cass_user_type_set_duration_by_name_n(
8920 user_type: *mut CassUserType,
8921 name: *const ::std::os::raw::c_char,
8922 name_length: usize,
8923 months: cass_int32_t,
8924 days: cass_int32_t,
8925 nanos: cass_int64_t,
8926 ) -> CassError;
8927}
8928extern "C" {
8929 #[doc = " Sets a \"list\", \"map\" or \"set\" in a user defined type at the"]
8930 #[doc = " specified index."]
8931 #[doc = ""]
8932 #[doc = " @cassandra{2.1+}"]
8933 #[doc = ""]
8934 #[doc = " @public @memberof CassUserType"]
8935 #[doc = ""]
8936 #[doc = " @param[in] user_type"]
8937 #[doc = " @param[in] index"]
8938 #[doc = " @param[in] value"]
8939 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8940 pub fn cass_user_type_set_collection(
8941 user_type: *mut CassUserType,
8942 index: usize,
8943 value: *const CassCollection,
8944 ) -> CassError;
8945}
8946extern "C" {
8947 #[doc = " Sets a \"list\", \"map\" or \"set\" in a user defined type at the"]
8948 #[doc = " specified name."]
8949 #[doc = ""]
8950 #[doc = " @cassandra{2.1+}"]
8951 #[doc = ""]
8952 #[doc = " @public @memberof CassUserType"]
8953 #[doc = ""]
8954 #[doc = " @param[in] user_type"]
8955 #[doc = " @param[in] name"]
8956 #[doc = " @param[in] value"]
8957 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8958 pub fn cass_user_type_set_collection_by_name(
8959 user_type: *mut CassUserType,
8960 name: *const ::std::os::raw::c_char,
8961 value: *const CassCollection,
8962 ) -> CassError;
8963}
8964extern "C" {
8965 #[doc = " Same as cass_user_type_set_collection_by_name(), but with lengths for string"]
8966 #[doc = " parameters."]
8967 #[doc = ""]
8968 #[doc = " @cassandra{2.1+}"]
8969 #[doc = ""]
8970 #[doc = " @public @memberof CassUserType"]
8971 #[doc = ""]
8972 #[doc = " @param[in] user_type"]
8973 #[doc = " @param[in] name"]
8974 #[doc = " @param[in] name_length"]
8975 #[doc = " @param[in] value"]
8976 #[doc = " @return same as cass_user_type_set_collection_by_name()"]
8977 #[doc = ""]
8978 #[doc = " @see cass_user_type_set_collection_by_name()"]
8979 pub fn cass_user_type_set_collection_by_name_n(
8980 user_type: *mut CassUserType,
8981 name: *const ::std::os::raw::c_char,
8982 name_length: usize,
8983 value: *const CassCollection,
8984 ) -> CassError;
8985}
8986extern "C" {
8987 #[doc = " Sets a \"tuple\" in a user defined type at the specified index."]
8988 #[doc = ""]
8989 #[doc = " @cassandra{2.1+}"]
8990 #[doc = ""]
8991 #[doc = " @public @memberof CassUserType"]
8992 #[doc = ""]
8993 #[doc = " @param[in] user_type"]
8994 #[doc = " @param[in] index"]
8995 #[doc = " @param[in] value"]
8996 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
8997 pub fn cass_user_type_set_tuple(
8998 user_type: *mut CassUserType,
8999 index: usize,
9000 value: *const CassTuple,
9001 ) -> CassError;
9002}
9003extern "C" {
9004 #[doc = " Sets a \"tuple\" in a user defined type at the specified name."]
9005 #[doc = ""]
9006 #[doc = " @cassandra{2.1+}"]
9007 #[doc = ""]
9008 #[doc = " @public @memberof CassUserType"]
9009 #[doc = ""]
9010 #[doc = " @param[in] user_type"]
9011 #[doc = " @param[in] name"]
9012 #[doc = " @param[in] value"]
9013 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
9014 pub fn cass_user_type_set_tuple_by_name(
9015 user_type: *mut CassUserType,
9016 name: *const ::std::os::raw::c_char,
9017 value: *const CassTuple,
9018 ) -> CassError;
9019}
9020extern "C" {
9021 #[doc = " Same as cass_user_type_set_tuple_by_name(), but with lengths for string"]
9022 #[doc = " parameters."]
9023 #[doc = ""]
9024 #[doc = " @cassandra{2.1+}"]
9025 #[doc = ""]
9026 #[doc = " @public @memberof CassUserType"]
9027 #[doc = ""]
9028 #[doc = " @param[in] user_type"]
9029 #[doc = " @param[in] name"]
9030 #[doc = " @param[in] name_length"]
9031 #[doc = " @param[in] value"]
9032 #[doc = " @return same as cass_user_type_set_tuple_by_name()"]
9033 #[doc = ""]
9034 #[doc = " @see cass_user_type_set_tuple_by_name()"]
9035 pub fn cass_user_type_set_tuple_by_name_n(
9036 user_type: *mut CassUserType,
9037 name: *const ::std::os::raw::c_char,
9038 name_length: usize,
9039 value: *const CassTuple,
9040 ) -> CassError;
9041}
9042extern "C" {
9043 #[doc = " Sets a user defined type in a user defined type at the specified index."]
9044 #[doc = ""]
9045 #[doc = " @cassandra{2.1+}"]
9046 #[doc = ""]
9047 #[doc = " @public @memberof CassUserType"]
9048 #[doc = ""]
9049 #[doc = " @param[in] user_type"]
9050 #[doc = " @param[in] index"]
9051 #[doc = " @param[in] value"]
9052 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
9053 pub fn cass_user_type_set_user_type(
9054 user_type: *mut CassUserType,
9055 index: usize,
9056 value: *const CassUserType,
9057 ) -> CassError;
9058}
9059extern "C" {
9060 #[doc = " Sets a user defined type in a user defined type at the specified name."]
9061 #[doc = ""]
9062 #[doc = " @cassandra{2.1+}"]
9063 #[doc = ""]
9064 #[doc = " @public @memberof CassUserType"]
9065 #[doc = ""]
9066 #[doc = " @param[in] user_type"]
9067 #[doc = " @param[in] name"]
9068 #[doc = " @param[in] value"]
9069 #[doc = " @return CASS_OK if successful, otherwise an error occurred."]
9070 pub fn cass_user_type_set_user_type_by_name(
9071 user_type: *mut CassUserType,
9072 name: *const ::std::os::raw::c_char,
9073 value: *const CassUserType,
9074 ) -> CassError;
9075}
9076extern "C" {
9077 #[doc = " Same as cass_user_type_set_user_type_by_name(), but with lengths for string"]
9078 #[doc = " parameters."]
9079 #[doc = ""]
9080 #[doc = " @cassandra{2.1+}"]
9081 #[doc = ""]
9082 #[doc = " @public @memberof CassUserType"]
9083 #[doc = ""]
9084 #[doc = " @param[in] user_type"]
9085 #[doc = " @param[in] name"]
9086 #[doc = " @param[in] name_length"]
9087 #[doc = " @param[in] value"]
9088 #[doc = " @return same as cass_user_type_set_user_type_by_name()"]
9089 #[doc = ""]
9090 #[doc = " @see cass_user_type_set_user_type_by_name()"]
9091 pub fn cass_user_type_set_user_type_by_name_n(
9092 user_type: *mut CassUserType,
9093 name: *const ::std::os::raw::c_char,
9094 name_length: usize,
9095 value: *const CassUserType,
9096 ) -> CassError;
9097}
9098extern "C" {
9099 #[doc = " Frees a result instance."]
9100 #[doc = ""]
9101 #[doc = " This method invalidates all values, rows, and"]
9102 #[doc = " iterators that were derived from this result."]
9103 #[doc = ""]
9104 #[doc = " @public @memberof CassResult"]
9105 #[doc = ""]
9106 #[doc = " @param[in] result"]
9107 pub fn cass_result_free(result: *const CassResult);
9108}
9109extern "C" {
9110 #[doc = " Gets the number of rows for the specified result."]
9111 #[doc = ""]
9112 #[doc = " @public @memberof CassResult"]
9113 #[doc = ""]
9114 #[doc = " @param[in] result"]
9115 #[doc = " @return The number of rows in the result."]
9116 pub fn cass_result_row_count(result: *const CassResult) -> usize;
9117}
9118extern "C" {
9119 #[doc = " Gets the number of columns per row for the specified result."]
9120 #[doc = ""]
9121 #[doc = " @public @memberof CassResult"]
9122 #[doc = ""]
9123 #[doc = " @param[in] result"]
9124 #[doc = " @return The number of columns per row in the result."]
9125 pub fn cass_result_column_count(result: *const CassResult) -> usize;
9126}
9127extern "C" {
9128 #[doc = " Gets the column name at index for the specified result."]
9129 #[doc = ""]
9130 #[doc = " @public @memberof CassResult"]
9131 #[doc = ""]
9132 #[doc = " @param[in] result"]
9133 #[doc = " @param[in] index"]
9134 #[doc = " @param[out] name The column name at the specified index."]
9135 #[doc = " @param[out] name_length"]
9136 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
9137 pub fn cass_result_column_name(
9138 result: *const CassResult,
9139 index: usize,
9140 name: *mut *const ::std::os::raw::c_char,
9141 name_length: *mut usize,
9142 ) -> CassError;
9143}
9144extern "C" {
9145 #[doc = " Gets the column type at index for the specified result."]
9146 #[doc = ""]
9147 #[doc = " @public @memberof CassResult"]
9148 #[doc = ""]
9149 #[doc = " @param[in] result"]
9150 #[doc = " @param[in] index"]
9151 #[doc = " @return The column type at the specified index. CASS_VALUE_TYPE_UNKNOWN"]
9152 #[doc = " is returned if the index is out of bounds."]
9153 pub fn cass_result_column_type(result: *const CassResult, index: usize) -> CassValueType;
9154}
9155extern "C" {
9156 #[doc = " Gets the column data type at index for the specified result."]
9157 #[doc = ""]
9158 #[doc = " @public @memberof CassResult"]
9159 #[doc = ""]
9160 #[doc = " @param[in] result"]
9161 #[doc = " @param[in] index"]
9162 #[doc = " @return The column type at the specified index. NULL is returned if the"]
9163 #[doc = " index is out of bounds."]
9164 pub fn cass_result_column_data_type(
9165 result: *const CassResult,
9166 index: usize,
9167 ) -> *const CassDataType;
9168}
9169extern "C" {
9170 #[doc = " Gets the first row of the result."]
9171 #[doc = ""]
9172 #[doc = " @public @memberof CassResult"]
9173 #[doc = ""]
9174 #[doc = " @param[in] result"]
9175 #[doc = " @return The first row of the result. NULL if there are no rows."]
9176 pub fn cass_result_first_row(result: *const CassResult) -> *const CassRow;
9177}
9178extern "C" {
9179 #[doc = " Returns true if there are more pages."]
9180 #[doc = ""]
9181 #[doc = " @cassandra{2.0+}"]
9182 #[doc = ""]
9183 #[doc = " @public @memberof CassResult"]
9184 #[doc = ""]
9185 #[doc = " @param[in] result"]
9186 #[doc = " @return cass_true if there are more pages"]
9187 pub fn cass_result_has_more_pages(result: *const CassResult) -> cass_bool_t;
9188}
9189extern "C" {
9190 #[doc = " Gets the raw paging state from the result. The paging state is bound to the"]
9191 #[doc = " lifetime of the result object. If paging state needs to live beyond the"]
9192 #[doc = " lifetime of the result object it must be copied."]
9193 #[doc = ""]
9194 #[doc = " <b>Warning:</b> The paging state should not be exposed to or come from"]
9195 #[doc = " untrusted environments. The paging state could be spoofed and potentially"]
9196 #[doc = " used to gain access to other data."]
9197 #[doc = ""]
9198 #[doc = " @cassandra{2.0+}"]
9199 #[doc = ""]
9200 #[doc = " @public @memberof CassResult"]
9201 #[doc = ""]
9202 #[doc = " @param[in] result"]
9203 #[doc = " @param[out] paging_state"]
9204 #[doc = " @param[out] paging_state_size"]
9205 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
9206 #[doc = ""]
9207 #[doc = " @see cass_statement_set_paging_state_token()"]
9208 pub fn cass_result_paging_state_token(
9209 result: *const CassResult,
9210 paging_state: *mut *const ::std::os::raw::c_char,
9211 paging_state_size: *mut usize,
9212 ) -> CassError;
9213}
9214extern "C" {
9215 #[doc = " Frees an error result instance."]
9216 #[doc = ""]
9217 #[doc = " @public @memberof CassErrorResult"]
9218 #[doc = ""]
9219 #[doc = " @param[in] error_result"]
9220 pub fn cass_error_result_free(error_result: *const CassErrorResult);
9221}
9222extern "C" {
9223 #[doc = " Gets error code for the error result. This error code will always"]
9224 #[doc = " have an server error source."]
9225 #[doc = ""]
9226 #[doc = " @public @memberof CassErrorResult"]
9227 #[doc = ""]
9228 #[doc = " @param[in] error_result"]
9229 #[doc = " @return The server error code"]
9230 pub fn cass_error_result_code(error_result: *const CassErrorResult) -> CassError;
9231}
9232extern "C" {
9233 #[doc = " Gets consistency that triggered the error result of the"]
9234 #[doc = " following types:"]
9235 #[doc = ""]
9236 #[doc = " <ul>"]
9237 #[doc = " <li>CASS_ERROR_SERVER_READ_TIMEOUT</li>"]
9238 #[doc = " <li>CASS_ERROR_SERVER_WRITE_TIMEOUT</li>"]
9239 #[doc = " <li>CASS_ERROR_SERVER_READ_FAILURE</li>"]
9240 #[doc = " <li>CASS_ERROR_SERVER_WRITE_FAILURE</li>"]
9241 #[doc = " <li>CASS_ERROR_SERVER_UNAVAILABLE</li>"]
9242 #[doc = " </ul>"]
9243 #[doc = ""]
9244 #[doc = " @public @memberof CassErrorResult"]
9245 #[doc = ""]
9246 #[doc = " @param[in] error_result"]
9247 #[doc = " @return The consistency that triggered the error for a read timeout,"]
9248 #[doc = " write timeout or an unavailable error result. Undefined for other"]
9249 #[doc = " error result types."]
9250 pub fn cass_error_result_consistency(error_result: *const CassErrorResult) -> CassConsistency;
9251}
9252extern "C" {
9253 #[doc = " Gets the actual number of received responses, received acknowledgments"]
9254 #[doc = " or alive nodes for following error result types, respectively:"]
9255 #[doc = ""]
9256 #[doc = " <ul>"]
9257 #[doc = " <li>CASS_ERROR_SERVER_READ_TIMEOUT</li>"]
9258 #[doc = " <li>CASS_ERROR_SERVER_WRITE_TIMEOUT</li>"]
9259 #[doc = " <li>CASS_ERROR_SERVER_READ_FAILURE</li>"]
9260 #[doc = " <li>CASS_ERROR_SERVER_WRITE_FAILURE</li>"]
9261 #[doc = " <li>CASS_ERROR_SERVER_UNAVAILABLE</li>"]
9262 #[doc = " </ul>"]
9263 #[doc = ""]
9264 #[doc = " @public @memberof CassErrorResult"]
9265 #[doc = ""]
9266 #[doc = " @param[in] error_result"]
9267 #[doc = " @return The actual received responses for a read timeout, actual received"]
9268 #[doc = " acknowledgments for a write timeout or actual alive nodes for a unavailable"]
9269 #[doc = " error. Undefined for other error result types."]
9270 pub fn cass_error_result_responses_received(
9271 error_result: *const CassErrorResult,
9272 ) -> cass_int32_t;
9273}
9274extern "C" {
9275 #[doc = " Gets required responses, required acknowledgments or required alive nodes"]
9276 #[doc = " needed to successfully complete the request for following error result types,"]
9277 #[doc = " respectively:"]
9278 #[doc = ""]
9279 #[doc = " <ul>"]
9280 #[doc = " <li>CASS_ERROR_SERVER_READ_TIMEOUT</li>"]
9281 #[doc = " <li>CASS_ERROR_SERVER_WRITE_TIMEOUT</li>"]
9282 #[doc = " <li>CASS_ERROR_SERVER_READ_FAILURE</li>"]
9283 #[doc = " <li>CASS_ERROR_SERVER_WRITE_FAILURE</li>"]
9284 #[doc = " <li>CASS_ERROR_SERVER_UNAVAILABLE</li>"]
9285 #[doc = " </ul>"]
9286 #[doc = ""]
9287 #[doc = " @public @memberof CassErrorResult"]
9288 #[doc = ""]
9289 #[doc = " @param[in] error_result"]
9290 #[doc = " @return The required responses for a read time, required acknowledgments"]
9291 #[doc = " for a write timeout or required alive nodes for an unavailable error result."]
9292 #[doc = " Undefined for other error result types."]
9293 pub fn cass_error_result_responses_required(
9294 error_result: *const CassErrorResult,
9295 ) -> cass_int32_t;
9296}
9297extern "C" {
9298 #[doc = " Gets the number of nodes that experienced failures for the following error types:"]
9299 #[doc = ""]
9300 #[doc = " <ul>"]
9301 #[doc = " <li>CASS_ERROR_SERVER_READ_FAILURE</li>"]
9302 #[doc = " <li>CASS_ERROR_SERVER_WRITE_FAILURE</li>"]
9303 #[doc = " </ul>"]
9304 #[doc = ""]
9305 #[doc = " @public @memberof CassErrorResult"]
9306 #[doc = ""]
9307 #[doc = " @param[in] error_result"]
9308 #[doc = " @return The number of nodes that failed during a read or write request."]
9309 pub fn cass_error_result_num_failures(error_result: *const CassErrorResult) -> cass_int32_t;
9310}
9311extern "C" {
9312 #[doc = " Determines whether the actual data was present in the responses from the"]
9313 #[doc = " replicas for the following error result types:"]
9314 #[doc = ""]
9315 #[doc = " <ul>"]
9316 #[doc = " <li>CASS_ERROR_SERVER_READ_TIMEOUT</li>"]
9317 #[doc = " <li>CASS_ERROR_SERVER_READ_FAILURE</li>"]
9318 #[doc = " </ul>"]
9319 #[doc = ""]
9320 #[doc = " @public @memberof CassErrorResult"]
9321 #[doc = ""]
9322 #[doc = " @param[in] error_result"]
9323 #[doc = " @return cass_true if the data was present in the received responses when the"]
9324 #[doc = " read timeout occurred. Undefined for other error result types."]
9325 pub fn cass_error_result_data_present(error_result: *const CassErrorResult) -> cass_bool_t;
9326}
9327extern "C" {
9328 #[doc = " Gets the write type of a request for the following error result types:"]
9329 #[doc = ""]
9330 #[doc = " <ul>"]
9331 #[doc = " <li>CASS_ERROR_SERVER_WRITE_TIMEOUT</li>"]
9332 #[doc = " <li>CASS_ERROR_SERVER_WRITE_FAILURE</li>"]
9333 #[doc = " </ul>"]
9334 #[doc = ""]
9335 #[doc = " @public @memberof CassErrorResult"]
9336 #[doc = ""]
9337 #[doc = " @param[in] error_result"]
9338 #[doc = " @return The type of the write that timed out. Undefined for"]
9339 #[doc = " other error result types."]
9340 pub fn cass_error_result_write_type(error_result: *const CassErrorResult) -> CassWriteType;
9341}
9342extern "C" {
9343 #[doc = " Gets the affected keyspace for the following error result types:"]
9344 #[doc = ""]
9345 #[doc = " <ul>"]
9346 #[doc = " <li>CASS_ERROR_SERVER_ALREADY_EXISTS</li>"]
9347 #[doc = " <li>CASS_ERROR_SERVER_FUNCTION_FAILURE</li>"]
9348 #[doc = " </ul>"]
9349 #[doc = ""]
9350 #[doc = " @public @memberof CassErrorResult"]
9351 #[doc = ""]
9352 #[doc = " @param[in] error_result"]
9353 #[doc = " @param[out] keyspace"]
9354 #[doc = " @param[out] keyspace_length"]
9355 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
9356 pub fn cass_error_result_keyspace(
9357 error_result: *const CassErrorResult,
9358 keyspace: *mut *const ::std::os::raw::c_char,
9359 keyspace_length: *mut usize,
9360 ) -> CassError;
9361}
9362extern "C" {
9363 #[doc = " Gets the affected table for the already exists error"]
9364 #[doc = " (CASS_ERROR_SERVER_ALREADY_EXISTS) result type."]
9365 #[doc = ""]
9366 #[doc = " @public @memberof CassErrorResult"]
9367 #[doc = ""]
9368 #[doc = " @param[in] error_result"]
9369 #[doc = " @param[out] table"]
9370 #[doc = " @param[out] table_length"]
9371 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
9372 pub fn cass_error_result_table(
9373 error_result: *const CassErrorResult,
9374 table: *mut *const ::std::os::raw::c_char,
9375 table_length: *mut usize,
9376 ) -> CassError;
9377}
9378extern "C" {
9379 #[doc = " Gets the affected function for the function failure error"]
9380 #[doc = " (CASS_ERROR_SERVER_FUNCTION_FAILURE) result type."]
9381 #[doc = ""]
9382 #[doc = " @cassandra{2.2+}"]
9383 #[doc = ""]
9384 #[doc = " @public @memberof CassErrorResult"]
9385 #[doc = ""]
9386 #[doc = " @param[in] error_result"]
9387 #[doc = " @param[out] function"]
9388 #[doc = " @param[out] function_length"]
9389 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
9390 pub fn cass_error_result_function(
9391 error_result: *const CassErrorResult,
9392 function: *mut *const ::std::os::raw::c_char,
9393 function_length: *mut usize,
9394 ) -> CassError;
9395}
9396extern "C" {
9397 #[doc = " Gets the number of argument types for the function failure error"]
9398 #[doc = " (CASS_ERROR_SERVER_FUNCTION_FAILURE) result type."]
9399 #[doc = ""]
9400 #[doc = " @cassandra{2.2+}"]
9401 #[doc = ""]
9402 #[doc = " @public @memberof CassErrorResult"]
9403 #[doc = ""]
9404 #[doc = " @param[in] error_result"]
9405 #[doc = " @return The number of arguments for the affected function."]
9406 pub fn cass_error_num_arg_types(error_result: *const CassErrorResult) -> usize;
9407}
9408extern "C" {
9409 #[doc = " Gets the argument type at the specified index for the function failure"]
9410 #[doc = " error (CASS_ERROR_SERVER_FUNCTION_FAILURE) result type."]
9411 #[doc = ""]
9412 #[doc = " @cassandra{2.2+}"]
9413 #[doc = ""]
9414 #[doc = " @public @memberof CassErrorResult"]
9415 #[doc = ""]
9416 #[doc = " @param[in] error_result"]
9417 #[doc = " @param[in] index"]
9418 #[doc = " @param[out] arg_type"]
9419 #[doc = " @param[out] arg_type_length"]
9420 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
9421 pub fn cass_error_result_arg_type(
9422 error_result: *const CassErrorResult,
9423 index: usize,
9424 arg_type: *mut *const ::std::os::raw::c_char,
9425 arg_type_length: *mut usize,
9426 ) -> CassError;
9427}
9428extern "C" {
9429 #[doc = " Frees an iterator instance."]
9430 #[doc = ""]
9431 #[doc = " @public @memberof CassIterator"]
9432 #[doc = ""]
9433 #[doc = " @param[in] iterator"]
9434 pub fn cass_iterator_free(iterator: *mut CassIterator);
9435}
9436extern "C" {
9437 #[doc = " Gets the type of the specified iterator."]
9438 #[doc = ""]
9439 #[doc = " @public @memberof CassIterator"]
9440 #[doc = ""]
9441 #[doc = " @param[in] iterator"]
9442 #[doc = " @return The type of the iterator."]
9443 pub fn cass_iterator_type(iterator: *mut CassIterator) -> CassIteratorType;
9444}
9445extern "C" {
9446 #[doc = " Creates a new iterator for the specified result. This can be"]
9447 #[doc = " used to iterate over rows in the result."]
9448 #[doc = ""]
9449 #[doc = " @public @memberof CassResult"]
9450 #[doc = ""]
9451 #[doc = " @param[in] result"]
9452 #[doc = " @return A new iterator that must be freed."]
9453 #[doc = ""]
9454 #[doc = " @see cass_iterator_free()"]
9455 pub fn cass_iterator_from_result(result: *const CassResult) -> *mut CassIterator;
9456}
9457extern "C" {
9458 #[doc = " Creates a new iterator for the specified row. This can be"]
9459 #[doc = " used to iterate over columns in a row."]
9460 #[doc = ""]
9461 #[doc = " @public @memberof CassRow"]
9462 #[doc = ""]
9463 #[doc = " @param[in] row"]
9464 #[doc = " @return A new iterator that must be freed."]
9465 #[doc = ""]
9466 #[doc = " @see cass_iterator_free()"]
9467 pub fn cass_iterator_from_row(row: *const CassRow) -> *mut CassIterator;
9468}
9469extern "C" {
9470 #[doc = " Creates a new iterator for the specified collection. This can be"]
9471 #[doc = " used to iterate over values in a collection."]
9472 #[doc = ""]
9473 #[doc = " @public @memberof CassValue"]
9474 #[doc = ""]
9475 #[doc = " @param[in] value"]
9476 #[doc = " @return A new iterator that must be freed. NULL returned if the"]
9477 #[doc = " value is not a collection."]
9478 #[doc = ""]
9479 #[doc = " @see cass_iterator_free()"]
9480 pub fn cass_iterator_from_collection(value: *const CassValue) -> *mut CassIterator;
9481}
9482extern "C" {
9483 #[doc = " Creates a new iterator for the specified map. This can be"]
9484 #[doc = " used to iterate over key/value pairs in a map."]
9485 #[doc = ""]
9486 #[doc = " @public @memberof CassValue"]
9487 #[doc = ""]
9488 #[doc = " @param[in] value"]
9489 #[doc = " @return A new iterator that must be freed. NULL returned if the"]
9490 #[doc = " value is not a map."]
9491 #[doc = ""]
9492 #[doc = " @see cass_iterator_free()"]
9493 pub fn cass_iterator_from_map(value: *const CassValue) -> *mut CassIterator;
9494}
9495extern "C" {
9496 #[doc = " Creates a new iterator for the specified tuple. This can be"]
9497 #[doc = " used to iterate over values in a tuple."]
9498 #[doc = ""]
9499 #[doc = " @cassandra{2.1+}"]
9500 #[doc = ""]
9501 #[doc = " @public @memberof CassValue"]
9502 #[doc = ""]
9503 #[doc = " @param[in] value"]
9504 #[doc = " @return A new iterator that must be freed. NULL returned if the"]
9505 #[doc = " value is not a tuple."]
9506 #[doc = ""]
9507 #[doc = " @see cass_iterator_free()"]
9508 pub fn cass_iterator_from_tuple(value: *const CassValue) -> *mut CassIterator;
9509}
9510extern "C" {
9511 #[doc = " Creates a new iterator for the specified user defined type. This can be"]
9512 #[doc = " used to iterate over fields in a user defined type."]
9513 #[doc = ""]
9514 #[doc = " @cassandra{2.1+}"]
9515 #[doc = ""]
9516 #[doc = " @public @memberof CassValue"]
9517 #[doc = ""]
9518 #[doc = " @param[in] value"]
9519 #[doc = " @return A new iterator that must be freed. NULL returned if the"]
9520 #[doc = " value is not a user defined type."]
9521 #[doc = ""]
9522 #[doc = " @see cass_iterator_free()"]
9523 pub fn cass_iterator_fields_from_user_type(value: *const CassValue) -> *mut CassIterator;
9524}
9525extern "C" {
9526 #[doc = " Creates a new iterator for the specified schema metadata."]
9527 #[doc = " This can be used to iterate over keyspace."]
9528 #[doc = ""]
9529 #[doc = " @public @memberof CassSchemaMeta"]
9530 #[doc = ""]
9531 #[doc = " @param[in] schema_meta"]
9532 #[doc = " @return A new iterator that must be freed."]
9533 #[doc = ""]
9534 #[doc = " @see cass_iterator_get_keyspace_meta()"]
9535 #[doc = " @see cass_iterator_free()"]
9536 pub fn cass_iterator_keyspaces_from_schema_meta(
9537 schema_meta: *const CassSchemaMeta,
9538 ) -> *mut CassIterator;
9539}
9540extern "C" {
9541 #[doc = " Creates a new iterator for the specified keyspace metadata."]
9542 #[doc = " This can be used to iterate over tables."]
9543 #[doc = ""]
9544 #[doc = " @public @memberof CassKeyspaceMeta"]
9545 #[doc = ""]
9546 #[doc = " @param[in] keyspace_meta"]
9547 #[doc = " @return A new iterator that must be freed."]
9548 #[doc = ""]
9549 #[doc = " @see cass_iterator_get_table_meta()"]
9550 #[doc = " @see cass_iterator_free()"]
9551 pub fn cass_iterator_tables_from_keyspace_meta(
9552 keyspace_meta: *const CassKeyspaceMeta,
9553 ) -> *mut CassIterator;
9554}
9555extern "C" {
9556 #[doc = " Creates a new iterator for the specified keyspace metadata."]
9557 #[doc = " This can be used to iterate over views."]
9558 #[doc = ""]
9559 #[doc = " @cassandra{3.0+}"]
9560 #[doc = ""]
9561 #[doc = " @public @memberof CassKeyspaceMeta"]
9562 #[doc = ""]
9563 #[doc = " @param[in] keyspace_meta"]
9564 #[doc = " @return A new iterator that must be freed."]
9565 #[doc = ""]
9566 #[doc = " @see cass_iterator_get_materialized_view_meta()"]
9567 #[doc = " @see cass_iterator_free()"]
9568 pub fn cass_iterator_materialized_views_from_keyspace_meta(
9569 keyspace_meta: *const CassKeyspaceMeta,
9570 ) -> *mut CassIterator;
9571}
9572extern "C" {
9573 #[doc = " Creates a new iterator for the specified keyspace metadata."]
9574 #[doc = " This can be used to iterate over types."]
9575 #[doc = ""]
9576 #[doc = " @cassandra{2.1+}"]
9577 #[doc = ""]
9578 #[doc = " @public @memberof CassKeyspaceMeta"]
9579 #[doc = ""]
9580 #[doc = " @param[in] keyspace_meta"]
9581 #[doc = " @return A new iterator that must be freed."]
9582 #[doc = ""]
9583 #[doc = " @see cass_iterator_get_user_type()"]
9584 #[doc = " @see cass_iterator_free()"]
9585 pub fn cass_iterator_user_types_from_keyspace_meta(
9586 keyspace_meta: *const CassKeyspaceMeta,
9587 ) -> *mut CassIterator;
9588}
9589extern "C" {
9590 #[doc = " Creates a new iterator for the specified keyspace metadata."]
9591 #[doc = " This can be used to iterate over functions."]
9592 #[doc = ""]
9593 #[doc = " @cassandra{2.2+}"]
9594 #[doc = ""]
9595 #[doc = " @public @memberof CassKeyspaceMeta"]
9596 #[doc = ""]
9597 #[doc = " @param[in] keyspace_meta"]
9598 #[doc = " @return A new iterator that must be freed."]
9599 #[doc = ""]
9600 #[doc = " @see cass_iterator_get_function_meta()"]
9601 #[doc = " @see cass_iterator_free()"]
9602 pub fn cass_iterator_functions_from_keyspace_meta(
9603 keyspace_meta: *const CassKeyspaceMeta,
9604 ) -> *mut CassIterator;
9605}
9606extern "C" {
9607 #[doc = " Creates a new iterator for the specified keyspace metadata."]
9608 #[doc = " This can be used to iterate over aggregates."]
9609 #[doc = ""]
9610 #[doc = " @cassandra{2.2+}"]
9611 #[doc = ""]
9612 #[doc = " @public @memberof CassKeyspaceMeta"]
9613 #[doc = ""]
9614 #[doc = " @param[in] keyspace_meta"]
9615 #[doc = " @return A new iterator that must be freed."]
9616 #[doc = ""]
9617 #[doc = " @see cass_iterator_get_aggregate_meta()"]
9618 #[doc = " @see cass_iterator_free()"]
9619 pub fn cass_iterator_aggregates_from_keyspace_meta(
9620 keyspace_meta: *const CassKeyspaceMeta,
9621 ) -> *mut CassIterator;
9622}
9623extern "C" {
9624 #[doc = " Creates a new fields iterator for the specified keyspace metadata. Metadata"]
9625 #[doc = " fields allow direct access to the column data found in the underlying"]
9626 #[doc = " \"keyspaces\" metadata table. This can be used to iterate those metadata"]
9627 #[doc = " field entries."]
9628 #[doc = ""]
9629 #[doc = " @public @memberof CassKeyspaceMeta"]
9630 #[doc = ""]
9631 #[doc = " @param[in] keyspace_meta"]
9632 #[doc = " @return A new iterator that must be freed."]
9633 #[doc = ""]
9634 #[doc = " @see cass_iterator_get_meta_field_name()"]
9635 #[doc = " @see cass_iterator_get_meta_field_value()"]
9636 #[doc = " @see cass_iterator_free()"]
9637 pub fn cass_iterator_fields_from_keyspace_meta(
9638 keyspace_meta: *const CassKeyspaceMeta,
9639 ) -> *mut CassIterator;
9640}
9641extern "C" {
9642 #[doc = " Creates a new iterator for the specified table metadata."]
9643 #[doc = " This can be used to iterate over columns."]
9644 #[doc = ""]
9645 #[doc = " @public @memberof CassTableMeta"]
9646 #[doc = ""]
9647 #[doc = " @param[in] table_meta"]
9648 #[doc = " @return A new iterator that must be freed."]
9649 #[doc = ""]
9650 #[doc = " @see cass_iterator_get_column_meta()"]
9651 #[doc = " @see cass_iterator_free()"]
9652 pub fn cass_iterator_columns_from_table_meta(
9653 table_meta: *const CassTableMeta,
9654 ) -> *mut CassIterator;
9655}
9656extern "C" {
9657 #[doc = " Creates a new iterator for the specified table metadata."]
9658 #[doc = " This can be used to iterate over indexes."]
9659 #[doc = ""]
9660 #[doc = " @public @memberof CassTableMeta"]
9661 #[doc = ""]
9662 #[doc = " @param[in] table_meta"]
9663 #[doc = " @return A new iterator that must be freed."]
9664 #[doc = ""]
9665 #[doc = " @see cass_iterator_get_index_meta()"]
9666 #[doc = " @see cass_iterator_free()"]
9667 pub fn cass_iterator_indexes_from_table_meta(
9668 table_meta: *const CassTableMeta,
9669 ) -> *mut CassIterator;
9670}
9671extern "C" {
9672 #[doc = " Creates a new iterator for the specified materialized view metadata."]
9673 #[doc = " This can be used to iterate over columns."]
9674 #[doc = ""]
9675 #[doc = " @cassandra{3.0+}"]
9676 #[doc = ""]
9677 #[doc = " @public @memberof CassTableMeta"]
9678 #[doc = ""]
9679 #[doc = " @param[in] table_meta"]
9680 #[doc = " @return A new iterator that must be freed."]
9681 #[doc = ""]
9682 #[doc = " @see cass_iterator_get_materialized_view_meta()"]
9683 #[doc = " @see cass_iterator_free()"]
9684 pub fn cass_iterator_materialized_views_from_table_meta(
9685 table_meta: *const CassTableMeta,
9686 ) -> *mut CassIterator;
9687}
9688extern "C" {
9689 #[doc = " Creates a new fields iterator for the specified table metadata. Metadata"]
9690 #[doc = " fields allow direct access to the column data found in the underlying"]
9691 #[doc = " \"tables\" metadata table. This can be used to iterate those metadata"]
9692 #[doc = " field entries."]
9693 #[doc = ""]
9694 #[doc = " @public @memberof CassTableMeta"]
9695 #[doc = ""]
9696 #[doc = " @param[in] table_meta"]
9697 #[doc = " @return A new iterator that must be freed."]
9698 #[doc = ""]
9699 #[doc = " @see cass_iterator_get_meta_field_name()"]
9700 #[doc = " @see cass_iterator_get_meta_field_value()"]
9701 #[doc = " @see cass_iterator_free()"]
9702 pub fn cass_iterator_fields_from_table_meta(
9703 table_meta: *const CassTableMeta,
9704 ) -> *mut CassIterator;
9705}
9706extern "C" {
9707 #[doc = " Creates a new iterator for the specified materialized view metadata."]
9708 #[doc = " This can be used to iterate over columns."]
9709 #[doc = ""]
9710 #[doc = " @cassandra{3.0+}"]
9711 #[doc = ""]
9712 #[doc = " @public @memberof CassMaterializedViewMeta"]
9713 #[doc = ""]
9714 #[doc = " @param[in] view_meta"]
9715 #[doc = " @return A new iterator that must be freed."]
9716 #[doc = ""]
9717 #[doc = " @see cass_iterator_get_column_meta()"]
9718 #[doc = " @see cass_iterator_free()"]
9719 pub fn cass_iterator_columns_from_materialized_view_meta(
9720 view_meta: *const CassMaterializedViewMeta,
9721 ) -> *mut CassIterator;
9722}
9723extern "C" {
9724 #[doc = " Creates a new fields iterator for the specified materialized view metadata."]
9725 #[doc = " Metadata fields allow direct access to the column data found in the"]
9726 #[doc = " underlying \"views\" metadata view. This can be used to iterate those metadata"]
9727 #[doc = " field entries."]
9728 #[doc = ""]
9729 #[doc = " @cassandra{3.0+}"]
9730 #[doc = ""]
9731 #[doc = " @public @memberof CassMaterializedViewMeta"]
9732 #[doc = ""]
9733 #[doc = " @param[in] view_meta"]
9734 #[doc = " @return A new iterator that must be freed."]
9735 #[doc = ""]
9736 #[doc = " @see cass_iterator_get_meta_field_name()"]
9737 #[doc = " @see cass_iterator_get_meta_field_value()"]
9738 #[doc = " @see cass_iterator_free()"]
9739 pub fn cass_iterator_fields_from_materialized_view_meta(
9740 view_meta: *const CassMaterializedViewMeta,
9741 ) -> *mut CassIterator;
9742}
9743extern "C" {
9744 #[doc = " Creates a new fields iterator for the specified column metadata. Metadata"]
9745 #[doc = " fields allow direct access to the column data found in the underlying"]
9746 #[doc = " \"columns\" metadata table. This can be used to iterate those metadata"]
9747 #[doc = " field entries."]
9748 #[doc = ""]
9749 #[doc = " @public @memberof CassColumnMeta"]
9750 #[doc = ""]
9751 #[doc = " @param[in] column_meta"]
9752 #[doc = " @return A new iterator that must be freed."]
9753 #[doc = ""]
9754 #[doc = " @see cass_iterator_get_meta_field_name()"]
9755 #[doc = " @see cass_iterator_get_meta_field_value()"]
9756 #[doc = " @see cass_iterator_free()"]
9757 pub fn cass_iterator_fields_from_column_meta(
9758 column_meta: *const CassColumnMeta,
9759 ) -> *mut CassIterator;
9760}
9761extern "C" {
9762 #[doc = " Creates a new fields iterator for the specified index metadata. Metadata"]
9763 #[doc = " fields allow direct access to the index data found in the underlying"]
9764 #[doc = " \"indexes\" metadata table. This can be used to iterate those metadata"]
9765 #[doc = " field entries."]
9766 #[doc = ""]
9767 #[doc = " @public @memberof CassIndexMeta"]
9768 #[doc = ""]
9769 #[doc = " @param[in] index_meta"]
9770 #[doc = " @return A new iterator that must be freed."]
9771 #[doc = ""]
9772 #[doc = " @see cass_iterator_get_meta_field_name()"]
9773 #[doc = " @see cass_iterator_get_meta_field_value()"]
9774 #[doc = " @see cass_iterator_free()"]
9775 pub fn cass_iterator_fields_from_index_meta(
9776 index_meta: *const CassIndexMeta,
9777 ) -> *mut CassIterator;
9778}
9779extern "C" {
9780 #[doc = " Creates a new fields iterator for the specified function metadata. Metadata"]
9781 #[doc = " fields allow direct access to the column data found in the underlying"]
9782 #[doc = " \"functions\" metadata table. This can be used to iterate those metadata"]
9783 #[doc = " field entries."]
9784 #[doc = ""]
9785 #[doc = " @cassandra{2.2+}"]
9786 #[doc = ""]
9787 #[doc = " @public @memberof CassFunctionMeta"]
9788 #[doc = ""]
9789 #[doc = " @param[in] function_meta"]
9790 #[doc = " @return A new iterator that must be freed."]
9791 #[doc = ""]
9792 #[doc = " @see cass_iterator_get_meta_field()"]
9793 #[doc = " @see cass_iterator_free()"]
9794 pub fn cass_iterator_fields_from_function_meta(
9795 function_meta: *const CassFunctionMeta,
9796 ) -> *mut CassIterator;
9797}
9798extern "C" {
9799 #[doc = " Creates a new fields iterator for the specified aggregate metadata. Metadata"]
9800 #[doc = " fields allow direct access to the column data found in the underlying"]
9801 #[doc = " \"aggregates\" metadata table. This can be used to iterate those metadata"]
9802 #[doc = " field entries."]
9803 #[doc = ""]
9804 #[doc = " @cassandra{2.2+}"]
9805 #[doc = ""]
9806 #[doc = " @public @memberof CassAggregateMeta"]
9807 #[doc = ""]
9808 #[doc = " @param[in] aggregate_meta"]
9809 #[doc = " @return A new iterator that must be freed."]
9810 #[doc = ""]
9811 #[doc = " @see cass_iterator_get_meta_field()"]
9812 #[doc = " @see cass_iterator_free()"]
9813 pub fn cass_iterator_fields_from_aggregate_meta(
9814 aggregate_meta: *const CassAggregateMeta,
9815 ) -> *mut CassIterator;
9816}
9817extern "C" {
9818 #[doc = " Advance the iterator to the next row, column or collection item."]
9819 #[doc = ""]
9820 #[doc = " @public @memberof CassIterator"]
9821 #[doc = ""]
9822 #[doc = " @param[in] iterator"]
9823 #[doc = " @return false if no more rows, columns or items, otherwise true"]
9824 pub fn cass_iterator_next(iterator: *mut CassIterator) -> cass_bool_t;
9825}
9826extern "C" {
9827 #[doc = " Gets the row at the result iterator's current position."]
9828 #[doc = ""]
9829 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9830 #[doc = " row returned by this method."]
9831 #[doc = ""]
9832 #[doc = " @public @memberof CassIterator"]
9833 #[doc = ""]
9834 #[doc = " @param[in] iterator"]
9835 #[doc = " @return A row"]
9836 pub fn cass_iterator_get_row(iterator: *const CassIterator) -> *const CassRow;
9837}
9838extern "C" {
9839 #[doc = " Gets the column value at the row iterator's current position."]
9840 #[doc = ""]
9841 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9842 #[doc = " column returned by this method."]
9843 #[doc = ""]
9844 #[doc = " @public @memberof CassIterator"]
9845 #[doc = ""]
9846 #[doc = " @param[in] iterator"]
9847 #[doc = " @return A value"]
9848 pub fn cass_iterator_get_column(iterator: *const CassIterator) -> *const CassValue;
9849}
9850extern "C" {
9851 #[doc = " Gets the value at a collection or tuple iterator's current position."]
9852 #[doc = ""]
9853 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9854 #[doc = " value returned by this method."]
9855 #[doc = ""]
9856 #[doc = " @public @memberof CassIterator"]
9857 #[doc = ""]
9858 #[doc = " @param[in] iterator"]
9859 #[doc = " @return A value"]
9860 pub fn cass_iterator_get_value(iterator: *const CassIterator) -> *const CassValue;
9861}
9862extern "C" {
9863 #[doc = " Gets the key at the map iterator's current position."]
9864 #[doc = ""]
9865 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9866 #[doc = " value returned by this method."]
9867 #[doc = ""]
9868 #[doc = " @public @memberof CassIterator"]
9869 #[doc = ""]
9870 #[doc = " @param[in] iterator"]
9871 #[doc = " @return A value"]
9872 pub fn cass_iterator_get_map_key(iterator: *const CassIterator) -> *const CassValue;
9873}
9874extern "C" {
9875 #[doc = " Gets the value at the map iterator's current position."]
9876 #[doc = ""]
9877 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9878 #[doc = " value returned by this method."]
9879 #[doc = ""]
9880 #[doc = " @public @memberof CassIterator"]
9881 #[doc = ""]
9882 #[doc = " @param[in] iterator"]
9883 #[doc = " @return A value"]
9884 pub fn cass_iterator_get_map_value(iterator: *const CassIterator) -> *const CassValue;
9885}
9886extern "C" {
9887 #[doc = " Gets the field name at the user type defined iterator's current position."]
9888 #[doc = ""]
9889 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9890 #[doc = " name returned by this method."]
9891 #[doc = ""]
9892 #[doc = " @cassandra{2.1+}"]
9893 #[doc = ""]
9894 #[doc = " @public @memberof CassIterator"]
9895 #[doc = ""]
9896 #[doc = " @param[in] iterator"]
9897 #[doc = " @param[out] name"]
9898 #[doc = " @param[out] name_length"]
9899 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
9900 pub fn cass_iterator_get_user_type_field_name(
9901 iterator: *const CassIterator,
9902 name: *mut *const ::std::os::raw::c_char,
9903 name_length: *mut usize,
9904 ) -> CassError;
9905}
9906extern "C" {
9907 #[doc = " Gets the field value at the user type defined iterator's current position."]
9908 #[doc = ""]
9909 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9910 #[doc = " value returned by this method."]
9911 #[doc = ""]
9912 #[doc = " @cassandra{2.1+}"]
9913 #[doc = ""]
9914 #[doc = " @public @memberof CassIterator"]
9915 #[doc = ""]
9916 #[doc = " @param[in] iterator"]
9917 #[doc = " @return A value"]
9918 pub fn cass_iterator_get_user_type_field_value(
9919 iterator: *const CassIterator,
9920 ) -> *const CassValue;
9921}
9922extern "C" {
9923 #[doc = " Gets the keyspace metadata entry at the iterator's current position."]
9924 #[doc = ""]
9925 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9926 #[doc = " value returned by this method."]
9927 #[doc = ""]
9928 #[doc = " @public @memberof CassIterator"]
9929 #[doc = ""]
9930 #[doc = " @param[in] iterator"]
9931 #[doc = " @return A keyspace metadata entry"]
9932 pub fn cass_iterator_get_keyspace_meta(
9933 iterator: *const CassIterator,
9934 ) -> *const CassKeyspaceMeta;
9935}
9936extern "C" {
9937 #[doc = " Gets the table metadata entry at the iterator's current position."]
9938 #[doc = ""]
9939 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9940 #[doc = " value returned by this method."]
9941 #[doc = ""]
9942 #[doc = " @public @memberof CassIterator"]
9943 #[doc = ""]
9944 #[doc = " @param[in] iterator"]
9945 #[doc = " @return A table metadata entry"]
9946 pub fn cass_iterator_get_table_meta(iterator: *const CassIterator) -> *const CassTableMeta;
9947}
9948extern "C" {
9949 #[doc = " Gets the materialized view metadata entry at the iterator's current position."]
9950 #[doc = ""]
9951 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9952 #[doc = " value returned by this method."]
9953 #[doc = ""]
9954 #[doc = " @cassandra{3.0+}"]
9955 #[doc = ""]
9956 #[doc = " @public @memberof CassIterator"]
9957 #[doc = ""]
9958 #[doc = " @param[in] iterator"]
9959 #[doc = " @return A materialized view metadata entry"]
9960 pub fn cass_iterator_get_materialized_view_meta(
9961 iterator: *const CassIterator,
9962 ) -> *const CassMaterializedViewMeta;
9963}
9964extern "C" {
9965 #[doc = " Gets the type metadata entry at the iterator's current position."]
9966 #[doc = ""]
9967 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9968 #[doc = " value returned by this method."]
9969 #[doc = ""]
9970 #[doc = " @cassandra{2.1+}"]
9971 #[doc = ""]
9972 #[doc = " @public @memberof CassIterator"]
9973 #[doc = ""]
9974 #[doc = " @param[in] iterator"]
9975 #[doc = " @return A type metadata entry"]
9976 pub fn cass_iterator_get_user_type(iterator: *const CassIterator) -> *const CassDataType;
9977}
9978extern "C" {
9979 #[doc = " Gets the function metadata entry at the iterator's current position."]
9980 #[doc = ""]
9981 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9982 #[doc = " value returned by this method."]
9983 #[doc = ""]
9984 #[doc = " @cassandra{2.2+}"]
9985 #[doc = ""]
9986 #[doc = " @public @memberof CassIterator"]
9987 #[doc = ""]
9988 #[doc = " @param[in] iterator"]
9989 #[doc = " @return A function metadata entry"]
9990 pub fn cass_iterator_get_function_meta(
9991 iterator: *const CassIterator,
9992 ) -> *const CassFunctionMeta;
9993}
9994extern "C" {
9995 #[doc = " Gets the aggregate metadata entry at the iterator's current position."]
9996 #[doc = ""]
9997 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
9998 #[doc = " value returned by this method."]
9999 #[doc = ""]
10000 #[doc = " @cassandra{2.2+}"]
10001 #[doc = ""]
10002 #[doc = " @public @memberof CassIterator"]
10003 #[doc = ""]
10004 #[doc = " @param[in] iterator"]
10005 #[doc = " @return A aggregate metadata entry"]
10006 pub fn cass_iterator_get_aggregate_meta(
10007 iterator: *const CassIterator,
10008 ) -> *const CassAggregateMeta;
10009}
10010extern "C" {
10011 #[doc = " Gets the column metadata entry at the iterator's current position."]
10012 #[doc = ""]
10013 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
10014 #[doc = " value returned by this method."]
10015 #[doc = ""]
10016 #[doc = " @public @memberof CassIterator"]
10017 #[doc = ""]
10018 #[doc = " @param[in] iterator"]
10019 #[doc = " @return A column metadata entry"]
10020 pub fn cass_iterator_get_column_meta(iterator: *const CassIterator) -> *const CassColumnMeta;
10021}
10022extern "C" {
10023 #[doc = " Gets the index metadata entry at the iterator's current position."]
10024 #[doc = ""]
10025 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
10026 #[doc = " value returned by this method."]
10027 #[doc = ""]
10028 #[doc = " @public @memberof CassIterator"]
10029 #[doc = ""]
10030 #[doc = " @param[in] iterator"]
10031 #[doc = " @return A index metadata entry"]
10032 pub fn cass_iterator_get_index_meta(iterator: *const CassIterator) -> *const CassIndexMeta;
10033}
10034extern "C" {
10035 #[doc = " Gets the metadata field name at the iterator's current position."]
10036 #[doc = ""]
10037 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
10038 #[doc = " value returned by this method."]
10039 #[doc = ""]
10040 #[doc = " @public @memberof CassIterator"]
10041 #[doc = ""]
10042 #[doc = " @param[in] iterator"]
10043 #[doc = " @param[out] name"]
10044 #[doc = " @param[out] name_length"]
10045 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10046 pub fn cass_iterator_get_meta_field_name(
10047 iterator: *const CassIterator,
10048 name: *mut *const ::std::os::raw::c_char,
10049 name_length: *mut usize,
10050 ) -> CassError;
10051}
10052extern "C" {
10053 #[doc = " Gets the metadata field value at the iterator's current position."]
10054 #[doc = ""]
10055 #[doc = " Calling cass_iterator_next() will invalidate the previous"]
10056 #[doc = " value returned by this method."]
10057 #[doc = ""]
10058 #[doc = " @public @memberof CassIterator"]
10059 #[doc = ""]
10060 #[doc = " @param[in] iterator"]
10061 #[doc = " @return A metadata field value"]
10062 pub fn cass_iterator_get_meta_field_value(iterator: *const CassIterator) -> *const CassValue;
10063}
10064extern "C" {
10065 #[doc = " Get the column value at index for the specified row."]
10066 #[doc = ""]
10067 #[doc = " @public @memberof CassRow"]
10068 #[doc = ""]
10069 #[doc = " @param[in] row"]
10070 #[doc = " @param[in] index"]
10071 #[doc = " @return The column value at the specified index. NULL is"]
10072 #[doc = " returned if the index is out of bounds."]
10073 pub fn cass_row_get_column(row: *const CassRow, index: usize) -> *const CassValue;
10074}
10075extern "C" {
10076 #[doc = " Get the column value by name for the specified row."]
10077 #[doc = ""]
10078 #[doc = " @public @memberof CassRow"]
10079 #[doc = ""]
10080 #[doc = " @param[in] row"]
10081 #[doc = " @param[in] name"]
10082 #[doc = " @return The column value for the specified name. NULL is"]
10083 #[doc = " returned if the column does not exist."]
10084 pub fn cass_row_get_column_by_name(
10085 row: *const CassRow,
10086 name: *const ::std::os::raw::c_char,
10087 ) -> *const CassValue;
10088}
10089extern "C" {
10090 #[doc = " Same as cass_row_get_column_by_name(), but with lengths for string"]
10091 #[doc = " parameters."]
10092 #[doc = ""]
10093 #[doc = " @public @memberof CassRow"]
10094 #[doc = ""]
10095 #[doc = " @param[in] row"]
10096 #[doc = " @param[in] name"]
10097 #[doc = " @param[in] name_length"]
10098 #[doc = " @return same as cass_row_get_column_by_name()"]
10099 #[doc = ""]
10100 #[doc = " @see cass_row_get_column_by_name()"]
10101 pub fn cass_row_get_column_by_name_n(
10102 row: *const CassRow,
10103 name: *const ::std::os::raw::c_char,
10104 name_length: usize,
10105 ) -> *const CassValue;
10106}
10107extern "C" {
10108 #[doc = " Gets the data type of a value."]
10109 #[doc = ""]
10110 #[doc = " @public @memberof CassValue"]
10111 #[doc = ""]
10112 #[doc = " @param[in] value"]
10113 #[doc = " @return Returns a reference to the data type of the value."]
10114 #[doc = " Do not free this reference as it is bound to the lifetime of the value."]
10115 pub fn cass_value_data_type(value: *const CassValue) -> *const CassDataType;
10116}
10117extern "C" {
10118 #[doc = " Gets an int8 for the specified value."]
10119 #[doc = ""]
10120 #[doc = " @cassandra{2.2+}"]
10121 #[doc = ""]
10122 #[doc = " @public @memberof CassValue"]
10123 #[doc = ""]
10124 #[doc = " @param[in] value"]
10125 #[doc = " @param[out] output"]
10126 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10127 pub fn cass_value_get_int8(value: *const CassValue, output: *mut cass_int8_t) -> CassError;
10128}
10129extern "C" {
10130 #[doc = " Gets an int16 for the specified value."]
10131 #[doc = ""]
10132 #[doc = " @cassandra{2.2+}"]
10133 #[doc = ""]
10134 #[doc = " @public @memberof CassValue"]
10135 #[doc = ""]
10136 #[doc = " @param[in] value"]
10137 #[doc = " @param[out] output"]
10138 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10139 pub fn cass_value_get_int16(value: *const CassValue, output: *mut cass_int16_t) -> CassError;
10140}
10141extern "C" {
10142 #[doc = " Gets an int32 for the specified value."]
10143 #[doc = ""]
10144 #[doc = " @public @memberof CassValue"]
10145 #[doc = ""]
10146 #[doc = " @param[in] value"]
10147 #[doc = " @param[out] output"]
10148 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10149 pub fn cass_value_get_int32(value: *const CassValue, output: *mut cass_int32_t) -> CassError;
10150}
10151extern "C" {
10152 #[doc = " Gets an uint32 for the specified value."]
10153 #[doc = ""]
10154 #[doc = " @cassandra{2.2+}"]
10155 #[doc = ""]
10156 #[doc = " @public @memberof CassValue"]
10157 #[doc = ""]
10158 #[doc = " @param[in] value"]
10159 #[doc = " @param[out] output"]
10160 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10161 pub fn cass_value_get_uint32(value: *const CassValue, output: *mut cass_uint32_t) -> CassError;
10162}
10163extern "C" {
10164 #[doc = " Gets an int64 for the specified value."]
10165 #[doc = ""]
10166 #[doc = " @public @memberof CassValue"]
10167 #[doc = ""]
10168 #[doc = " @param[in] value"]
10169 #[doc = " @param[out] output"]
10170 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10171 pub fn cass_value_get_int64(value: *const CassValue, output: *mut cass_int64_t) -> CassError;
10172}
10173extern "C" {
10174 #[doc = " Gets a float for the specified value."]
10175 #[doc = ""]
10176 #[doc = " @public @memberof CassValue"]
10177 #[doc = ""]
10178 #[doc = " @param[in] value"]
10179 #[doc = " @param[out] output"]
10180 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10181 pub fn cass_value_get_float(value: *const CassValue, output: *mut cass_float_t) -> CassError;
10182}
10183extern "C" {
10184 #[doc = " Gets a double for the specified value."]
10185 #[doc = ""]
10186 #[doc = " @public @memberof CassValue"]
10187 #[doc = ""]
10188 #[doc = " @param[in] value"]
10189 #[doc = " @param[out] output"]
10190 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10191 pub fn cass_value_get_double(value: *const CassValue, output: *mut cass_double_t) -> CassError;
10192}
10193extern "C" {
10194 #[doc = " Gets a bool for the specified value."]
10195 #[doc = ""]
10196 #[doc = " @public @memberof CassValue"]
10197 #[doc = ""]
10198 #[doc = " @param[in] value"]
10199 #[doc = " @param[out] output"]
10200 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10201 pub fn cass_value_get_bool(value: *const CassValue, output: *mut cass_bool_t) -> CassError;
10202}
10203extern "C" {
10204 #[doc = " Gets a UUID for the specified value."]
10205 #[doc = ""]
10206 #[doc = " @public @memberof CassValue"]
10207 #[doc = ""]
10208 #[doc = " @param[in] value"]
10209 #[doc = " @param[out] output"]
10210 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10211 pub fn cass_value_get_uuid(value: *const CassValue, output: *mut CassUuid) -> CassError;
10212}
10213extern "C" {
10214 #[doc = " Gets an INET for the specified value."]
10215 #[doc = ""]
10216 #[doc = " @public @memberof CassValue"]
10217 #[doc = ""]
10218 #[doc = " @param[in] value"]
10219 #[doc = " @param[out] output"]
10220 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10221 pub fn cass_value_get_inet(value: *const CassValue, output: *mut CassInet) -> CassError;
10222}
10223extern "C" {
10224 #[doc = " Gets a string for the specified value."]
10225 #[doc = ""]
10226 #[doc = " @public @memberof CassValue"]
10227 #[doc = ""]
10228 #[doc = " @param[in] value"]
10229 #[doc = " @param[out] output"]
10230 #[doc = " @param[out] output_size"]
10231 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10232 pub fn cass_value_get_string(
10233 value: *const CassValue,
10234 output: *mut *const ::std::os::raw::c_char,
10235 output_size: *mut usize,
10236 ) -> CassError;
10237}
10238extern "C" {
10239 #[doc = " Gets the bytes of the specified value."]
10240 #[doc = ""]
10241 #[doc = " @public @memberof CassValue"]
10242 #[doc = ""]
10243 #[doc = " @param[in] value"]
10244 #[doc = " @param[out] output"]
10245 #[doc = " @param[out] output_size"]
10246 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10247 pub fn cass_value_get_bytes(
10248 value: *const CassValue,
10249 output: *mut *const cass_byte_t,
10250 output_size: *mut usize,
10251 ) -> CassError;
10252}
10253extern "C" {
10254 #[doc = " Gets a decimal for the specified value."]
10255 #[doc = ""]
10256 #[doc = " @public @memberof CassValue"]
10257 #[doc = ""]
10258 #[doc = " @param[in] value"]
10259 #[doc = " @param[out] varint"]
10260 #[doc = " @param[out] varint_size"]
10261 #[doc = " @param[out] scale"]
10262 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10263 pub fn cass_value_get_decimal(
10264 value: *const CassValue,
10265 varint: *mut *const cass_byte_t,
10266 varint_size: *mut usize,
10267 scale: *mut cass_int32_t,
10268 ) -> CassError;
10269}
10270extern "C" {
10271 #[doc = " Gets a duration for the specified value."]
10272 #[doc = ""]
10273 #[doc = " @cassandra{3.10+}"]
10274 #[doc = ""]
10275 #[doc = " @public @memberof CassValue"]
10276 #[doc = ""]
10277 #[doc = " @param[in] value"]
10278 #[doc = " @param[out] months"]
10279 #[doc = " @param[out] days"]
10280 #[doc = " @param[out] nanos"]
10281 #[doc = " @return CASS_OK if successful, otherwise error occurred"]
10282 pub fn cass_value_get_duration(
10283 value: *const CassValue,
10284 months: *mut cass_int32_t,
10285 days: *mut cass_int32_t,
10286 nanos: *mut cass_int64_t,
10287 ) -> CassError;
10288}
10289extern "C" {
10290 #[doc = " Gets the type of the specified value."]
10291 #[doc = ""]
10292 #[doc = " @public @memberof CassValue"]
10293 #[doc = ""]
10294 #[doc = " @param[in] value"]
10295 #[doc = " @return The type of the specified value."]
10296 pub fn cass_value_type(value: *const CassValue) -> CassValueType;
10297}
10298extern "C" {
10299 #[doc = " Returns true if a specified value is null."]
10300 #[doc = ""]
10301 #[doc = " @public @memberof CassValue"]
10302 #[doc = ""]
10303 #[doc = " @param[in] value"]
10304 #[doc = " @return true if the value is null, otherwise false."]
10305 pub fn cass_value_is_null(value: *const CassValue) -> cass_bool_t;
10306}
10307extern "C" {
10308 #[doc = " Returns true if a specified value is a collection."]
10309 #[doc = ""]
10310 #[doc = " @public @memberof CassValue"]
10311 #[doc = ""]
10312 #[doc = " @param[in] value"]
10313 #[doc = " @return true if the value is a collection, otherwise false."]
10314 pub fn cass_value_is_collection(value: *const CassValue) -> cass_bool_t;
10315}
10316extern "C" {
10317 #[doc = " Returns true if a specified value is a duration."]
10318 #[doc = ""]
10319 #[doc = " @public @memberof CassValue"]
10320 #[doc = ""]
10321 #[doc = " @param[in] value"]
10322 #[doc = " @return true if the value is a duration, otherwise false."]
10323 pub fn cass_value_is_duration(value: *const CassValue) -> cass_bool_t;
10324}
10325extern "C" {
10326 #[doc = " Get the number of items in a collection. Works for all collection types."]
10327 #[doc = ""]
10328 #[doc = " @public @memberof CassValue"]
10329 #[doc = ""]
10330 #[doc = " @param[in] collection"]
10331 #[doc = " @return Count of items in a collection. 0 if not a collection."]
10332 pub fn cass_value_item_count(collection: *const CassValue) -> usize;
10333}
10334extern "C" {
10335 #[doc = " Get the primary sub-type for a collection. This returns the sub-type for a"]
10336 #[doc = " list or set and the key type for a map."]
10337 #[doc = ""]
10338 #[doc = " @public @memberof CassValue"]
10339 #[doc = ""]
10340 #[doc = " @param[in] collection"]
10341 #[doc = " @return The type of the primary sub-type. CASS_VALUE_TYPE_UNKNOWN"]
10342 #[doc = " returned if not a collection."]
10343 pub fn cass_value_primary_sub_type(collection: *const CassValue) -> CassValueType;
10344}
10345extern "C" {
10346 #[doc = " Get the secondary sub-type for a collection. This returns the value type for a"]
10347 #[doc = " map."]
10348 #[doc = ""]
10349 #[doc = " @public @memberof CassValue"]
10350 #[doc = ""]
10351 #[doc = " @param[in] collection"]
10352 #[doc = " @return The type of the primary sub-type. CASS_VALUE_TYPE_UNKNOWN"]
10353 #[doc = " returned if not a collection or not a map."]
10354 pub fn cass_value_secondary_sub_type(collection: *const CassValue) -> CassValueType;
10355}
10356extern "C" {
10357 #[doc = " Creates a new UUID generator."]
10358 #[doc = ""]
10359 #[doc = " <b>Note:</b> This object is thread-safe. It is best practice to create and reuse"]
10360 #[doc = " a single object per application."]
10361 #[doc = ""]
10362 #[doc = " <b>Note:</b> If unique node information (IP address) is unable to be determined"]
10363 #[doc = " then random node information will be generated."]
10364 #[doc = ""]
10365 #[doc = " @public @memberof CassUuidGen"]
10366 #[doc = ""]
10367 #[doc = " @return Returns a UUID generator that must be freed."]
10368 #[doc = ""]
10369 #[doc = " @see cass_uuid_gen_free()"]
10370 #[doc = " @see cass_uuid_gen_new_with_node()"]
10371 pub fn cass_uuid_gen_new() -> *mut CassUuidGen;
10372}
10373extern "C" {
10374 #[doc = " Creates a new UUID generator with custom node information."]
10375 #[doc = ""]
10376 #[doc = " <b>Note:</b> This object is thread-safe. It is best practice to create and reuse"]
10377 #[doc = " a single object per application."]
10378 #[doc = ""]
10379 #[doc = " @public @memberof CassUuidGen"]
10380 #[doc = ""]
10381 #[doc = " @return Returns a UUID generator that must be freed."]
10382 #[doc = ""]
10383 #[doc = " @see cass_uuid_gen_free()"]
10384 pub fn cass_uuid_gen_new_with_node(node: cass_uint64_t) -> *mut CassUuidGen;
10385}
10386extern "C" {
10387 #[doc = " Frees a UUID generator instance."]
10388 #[doc = ""]
10389 #[doc = " @public @memberof CassUuidGen"]
10390 #[doc = ""]
10391 #[doc = " @param[in] uuid_gen"]
10392 pub fn cass_uuid_gen_free(uuid_gen: *mut CassUuidGen);
10393}
10394extern "C" {
10395 #[doc = " Generates a V1 (time) UUID."]
10396 #[doc = ""]
10397 #[doc = " <b>Note:</b> This method is thread-safe"]
10398 #[doc = ""]
10399 #[doc = " @public @memberof CassUuidGen"]
10400 #[doc = ""]
10401 #[doc = " @param[in] uuid_gen"]
10402 #[doc = " @param[out] output A V1 UUID for the current time."]
10403 pub fn cass_uuid_gen_time(uuid_gen: *mut CassUuidGen, output: *mut CassUuid);
10404}
10405extern "C" {
10406 #[doc = " Generates a new V4 (random) UUID"]
10407 #[doc = ""]
10408 #[doc = " <b>Note:</b>: This method is thread-safe"]
10409 #[doc = ""]
10410 #[doc = " @public @memberof CassUuidGen"]
10411 #[doc = ""]
10412 #[doc = " @param[in] uuid_gen"]
10413 #[doc = " @param output A randomly generated V4 UUID."]
10414 pub fn cass_uuid_gen_random(uuid_gen: *mut CassUuidGen, output: *mut CassUuid);
10415}
10416extern "C" {
10417 #[doc = " Generates a V1 (time) UUID for the specified time."]
10418 #[doc = ""]
10419 #[doc = " <b>Note:</b>: This method is thread-safe"]
10420 #[doc = ""]
10421 #[doc = " @public @memberof CassUuidGen"]
10422 #[doc = ""]
10423 #[doc = " @param[in] uuid_gen"]
10424 #[doc = " @param[in] timestamp"]
10425 #[doc = " @param[out] output A V1 UUID for the specified time."]
10426 pub fn cass_uuid_gen_from_time(
10427 uuid_gen: *mut CassUuidGen,
10428 timestamp: cass_uint64_t,
10429 output: *mut CassUuid,
10430 );
10431}
10432extern "C" {
10433 #[doc = " Sets the UUID to the minimum V1 (time) value for the specified time."]
10434 #[doc = ""]
10435 #[doc = " @public @memberof CassUuid"]
10436 #[doc = ""]
10437 #[doc = " @param[in] time"]
10438 #[doc = " @param[out] output A minimum V1 UUID for the specified time."]
10439 pub fn cass_uuid_min_from_time(time: cass_uint64_t, output: *mut CassUuid);
10440}
10441extern "C" {
10442 #[doc = " Sets the UUID to the maximum V1 (time) value for the specified time."]
10443 #[doc = ""]
10444 #[doc = " @public @memberof CassUuid"]
10445 #[doc = ""]
10446 #[doc = " @param[in] time"]
10447 #[doc = " @param[out] output A maximum V1 UUID for the specified time."]
10448 pub fn cass_uuid_max_from_time(time: cass_uint64_t, output: *mut CassUuid);
10449}
10450extern "C" {
10451 #[doc = " Gets the timestamp for a V1 UUID"]
10452 #[doc = ""]
10453 #[doc = " @public @memberof CassUuid"]
10454 #[doc = ""]
10455 #[doc = " @param[in] uuid"]
10456 #[doc = " @return The timestamp in milliseconds since the Epoch"]
10457 #[doc = " (00:00:00 UTC on 1 January 1970). 0 returned if the UUID"]
10458 #[doc = " is not V1."]
10459 pub fn cass_uuid_timestamp(uuid: CassUuid) -> cass_uint64_t;
10460}
10461extern "C" {
10462 #[doc = " Gets the version for a UUID"]
10463 #[doc = ""]
10464 #[doc = " @public @memberof CassUuid"]
10465 #[doc = ""]
10466 #[doc = " @param[in] uuid"]
10467 #[doc = " @return The version of the UUID (1 or 4)"]
10468 pub fn cass_uuid_version(uuid: CassUuid) -> cass_uint8_t;
10469}
10470extern "C" {
10471 #[doc = " Returns a null-terminated string for the specified UUID."]
10472 #[doc = ""]
10473 #[doc = " @public @memberof CassUuid"]
10474 #[doc = ""]
10475 #[doc = " @param[in] uuid"]
10476 #[doc = " @param[out] output A null-terminated string of length CASS_UUID_STRING_LENGTH."]
10477 pub fn cass_uuid_string(uuid: CassUuid, output: *mut ::std::os::raw::c_char);
10478}
10479extern "C" {
10480 #[doc = " Returns a UUID for the specified string."]
10481 #[doc = ""]
10482 #[doc = " Example: \"550e8400-e29b-41d4-a716-446655440000\""]
10483 #[doc = ""]
10484 #[doc = " @public @memberof CassUuid"]
10485 #[doc = ""]
10486 #[doc = " @param[in] str"]
10487 #[doc = " @param[out] output"]
10488 pub fn cass_uuid_from_string(
10489 str_: *const ::std::os::raw::c_char,
10490 output: *mut CassUuid,
10491 ) -> CassError;
10492}
10493extern "C" {
10494 #[doc = " Same as cass_uuid_from_string(), but with lengths for string"]
10495 #[doc = " parameters."]
10496 #[doc = ""]
10497 #[doc = " @public @memberof CassUuid"]
10498 #[doc = ""]
10499 #[doc = " @param[in] str"]
10500 #[doc = " @param[in] str_length"]
10501 #[doc = " @param[out] output"]
10502 #[doc = " @return same as cass_uuid_from_string()"]
10503 #[doc = ""]
10504 #[doc = " @see cass_uuid_from_string()"]
10505 pub fn cass_uuid_from_string_n(
10506 str_: *const ::std::os::raw::c_char,
10507 str_length: usize,
10508 output: *mut CassUuid,
10509 ) -> CassError;
10510}
10511extern "C" {
10512 #[doc = " Creates a new server-side timestamp generator. This generator allows Cassandra"]
10513 #[doc = " to assign timestamps server-side."]
10514 #[doc = ""]
10515 #[doc = " <b>Note:</b> This is the default timestamp generator."]
10516 #[doc = ""]
10517 #[doc = " @cassandra{2.1+}"]
10518 #[doc = ""]
10519 #[doc = " @public @memberof CassTimestampGen"]
10520 #[doc = ""]
10521 #[doc = " @return Returns a timestamp generator that must be freed."]
10522 #[doc = ""]
10523 #[doc = " @see cass_timestamp_gen_free()"]
10524 pub fn cass_timestamp_gen_server_side_new() -> *mut CassTimestampGen;
10525}
10526extern "C" {
10527 #[doc = " Creates a new monotonically increasing timestamp generator with microsecond"]
10528 #[doc = " precision."]
10529 #[doc = ""]
10530 #[doc = " This implementation guarantees a monotonically increasing timestamp. If the"]
10531 #[doc = " timestamp generation rate exceeds one per microsecond or if the clock skews"]
10532 #[doc = " into the past the generator will artificially increment the previously"]
10533 #[doc = " generated timestamp until the request rate decreases or the clock skew"]
10534 #[doc = " is corrected."]
10535 #[doc = ""]
10536 #[doc = " By default, this timestamp generator will generate warnings if more than"]
10537 #[doc = " 1 second of clock skew is detected. It will print an error every second until"]
10538 #[doc = " the clock skew is resolved. These settings can be changed by using"]
10539 #[doc = " `cass_timestamp_gen_monotonic_new_with_settings()` to create the generator"]
10540 #[doc = " instance."]
10541 #[doc = ""]
10542 #[doc = " <b>Note:</b> This generator is thread-safe and can be shared by multiple"]
10543 #[doc = " sessions."]
10544 #[doc = ""]
10545 #[doc = " @cassandra{2.1+}"]
10546 #[doc = ""]
10547 #[doc = " @public @memberof CassTimestampGen"]
10548 #[doc = ""]
10549 #[doc = " @return Returns a timestamp generator that must be freed."]
10550 #[doc = ""]
10551 #[doc = " @see cass_timestamp_gen_monotonic_new_with_settings();"]
10552 #[doc = " @see cass_timestamp_gen_free()"]
10553 pub fn cass_timestamp_gen_monotonic_new() -> *mut CassTimestampGen;
10554}
10555extern "C" {
10556 #[doc = " Same as cass_timestamp_gen_monotonic_new(), but with settings for controlling"]
10557 #[doc = " warnings about clock skew."]
10558 #[doc = ""]
10559 #[doc = " @param warning_threshold_us The amount of clock skew, in microseconds, that"]
10560 #[doc = " must be detected before a warning is triggered. A threshold less than 0 can"]
10561 #[doc = " be used to disable warnings."]
10562 #[doc = " @param warning_interval_ms The amount of time, in milliseconds, to wait before"]
10563 #[doc = " warning again about clock skew. An interval value less than or equal to 0 allows"]
10564 #[doc = " the warning to be triggered every millisecond."]
10565 #[doc = " @return Returns a timestamp generator that must be freed."]
10566 pub fn cass_timestamp_gen_monotonic_new_with_settings(
10567 warning_threshold_us: cass_int64_t,
10568 warning_interval_ms: cass_int64_t,
10569 ) -> *mut CassTimestampGen;
10570}
10571extern "C" {
10572 #[doc = " Frees a timestamp generator instance."]
10573 #[doc = ""]
10574 #[doc = " @cassandra{2.1+}"]
10575 #[doc = ""]
10576 #[doc = " @public @memberof CassTimestampGen"]
10577 #[doc = ""]
10578 #[doc = " @param[in] timestamp_gen"]
10579 pub fn cass_timestamp_gen_free(timestamp_gen: *mut CassTimestampGen);
10580}
10581extern "C" {
10582 #[doc = " Creates a new default retry policy."]
10583 #[doc = ""]
10584 #[doc = " This policy retries queries in the following cases:"]
10585 #[doc = " <ul>"]
10586 #[doc = " <li>On a read timeout, if enough replicas replied but data was not received.</li>"]
10587 #[doc = " <li>On a write timeout, if a timeout occurs while writing the distributed batch log</li>"]
10588 #[doc = " <li>On unavailable, it will move to the next host</li>"]
10589 #[doc = " </ul>"]
10590 #[doc = ""]
10591 #[doc = " In all other cases the error will be returned."]
10592 #[doc = ""]
10593 #[doc = " This policy always uses the query's original consistency level."]
10594 #[doc = ""]
10595 #[doc = " @public @memberof CassRetryPolicy"]
10596 #[doc = ""]
10597 #[doc = " @return Returns a retry policy that must be freed."]
10598 #[doc = ""]
10599 #[doc = " @see cass_retry_policy_free()"]
10600 pub fn cass_retry_policy_default_new() -> *mut CassRetryPolicy;
10601}
10602extern "C" {
10603 pub fn cass_retry_policy_downgrading_consistency_new() -> *mut CassRetryPolicy;
10604}
10605extern "C" {
10606 #[doc = " Creates a new fallthrough retry policy."]
10607 #[doc = ""]
10608 #[doc = " This policy never retries or ignores a server-side failure. The error"]
10609 #[doc = " is always returned."]
10610 #[doc = ""]
10611 #[doc = " @public @memberof CassRetryPolicy"]
10612 #[doc = ""]
10613 #[doc = " @return Returns a retry policy that must be freed."]
10614 #[doc = ""]
10615 #[doc = " @see cass_retry_policy_free()"]
10616 pub fn cass_retry_policy_fallthrough_new() -> *mut CassRetryPolicy;
10617}
10618extern "C" {
10619 #[doc = " Creates a new logging retry policy."]
10620 #[doc = ""]
10621 #[doc = " This policy logs the retry decision of its child policy. Logging is"]
10622 #[doc = " done using CASS_LOG_INFO."]
10623 #[doc = ""]
10624 #[doc = " @public @memberof CassRetryPolicy"]
10625 #[doc = ""]
10626 #[doc = " @param[in] child_retry_policy"]
10627 #[doc = " @return Returns a retry policy that must be freed. NULL is returned if"]
10628 #[doc = " the child_policy is a logging retry policy."]
10629 #[doc = ""]
10630 #[doc = " @see cass_retry_policy_free()"]
10631 pub fn cass_retry_policy_logging_new(
10632 child_retry_policy: *mut CassRetryPolicy,
10633 ) -> *mut CassRetryPolicy;
10634}
10635extern "C" {
10636 #[doc = " Frees a retry policy instance."]
10637 #[doc = ""]
10638 #[doc = " @public @memberof CassRetryPolicy"]
10639 #[doc = ""]
10640 #[doc = " @param[in] policy"]
10641 pub fn cass_retry_policy_free(policy: *mut CassRetryPolicy);
10642}
10643extern "C" {
10644 #[doc = " Creates a new custom payload."]
10645 #[doc = ""]
10646 #[doc = " @public @memberof CassCustomPayload"]
10647 #[doc = ""]
10648 #[doc = " @cassandra{2.2+}"]
10649 #[doc = ""]
10650 #[doc = " @return Returns a custom payload that must be freed."]
10651 #[doc = ""]
10652 #[doc = " @see cass_custom_payload_free()"]
10653 pub fn cass_custom_payload_new() -> *mut CassCustomPayload;
10654}
10655extern "C" {
10656 #[doc = " Frees a custom payload instance."]
10657 #[doc = ""]
10658 #[doc = " @cassandra{2.2+}"]
10659 #[doc = ""]
10660 #[doc = " @public @memberof CassCustomPayload"]
10661 #[doc = ""]
10662 #[doc = " @param[in] payload"]
10663 pub fn cass_custom_payload_free(payload: *mut CassCustomPayload);
10664}
10665extern "C" {
10666 #[doc = " Sets an item to the custom payload."]
10667 #[doc = ""]
10668 #[doc = " @cassandra{2.2+}"]
10669 #[doc = ""]
10670 #[doc = " @public @memberof CassCustomPayload"]
10671 #[doc = ""]
10672 #[doc = " @param[in] payload"]
10673 #[doc = " @param[in] name"]
10674 #[doc = " @param[in] value"]
10675 #[doc = " @param[in] value_size"]
10676 pub fn cass_custom_payload_set(
10677 payload: *mut CassCustomPayload,
10678 name: *const ::std::os::raw::c_char,
10679 value: *const cass_byte_t,
10680 value_size: usize,
10681 );
10682}
10683extern "C" {
10684 #[doc = " Same as cass_custom_payload_set(), but with lengths for string"]
10685 #[doc = " parameters."]
10686 #[doc = ""]
10687 #[doc = " @cassandra{2.2+}"]
10688 #[doc = ""]
10689 #[doc = " @public @memberof CassCustomPayload"]
10690 #[doc = ""]
10691 #[doc = " @param[in] payload"]
10692 #[doc = " @param[in] name"]
10693 #[doc = " @param[in] name_length"]
10694 #[doc = " @param[in] value"]
10695 #[doc = " @param[in] value_size"]
10696 pub fn cass_custom_payload_set_n(
10697 payload: *mut CassCustomPayload,
10698 name: *const ::std::os::raw::c_char,
10699 name_length: usize,
10700 value: *const cass_byte_t,
10701 value_size: usize,
10702 );
10703}
10704extern "C" {
10705 #[doc = " Removes an item from the custom payload."]
10706 #[doc = ""]
10707 #[doc = " @cassandra{2.2+}"]
10708 #[doc = ""]
10709 #[doc = " @public @memberof CassCustomPayload"]
10710 #[doc = ""]
10711 #[doc = " @param[in] payload"]
10712 #[doc = " @param[in] name"]
10713 pub fn cass_custom_payload_remove(
10714 payload: *mut CassCustomPayload,
10715 name: *const ::std::os::raw::c_char,
10716 );
10717}
10718extern "C" {
10719 #[doc = " Same as cass_custom_payload_set(), but with lengths for string"]
10720 #[doc = " parameters."]
10721 #[doc = ""]
10722 #[doc = " @cassandra{2.2+}"]
10723 #[doc = ""]
10724 #[doc = " @public @memberof CassCustomPayload"]
10725 #[doc = ""]
10726 #[doc = " @param[in] payload"]
10727 #[doc = " @param[in] name"]
10728 #[doc = " @param[in] name_length"]
10729 pub fn cass_custom_payload_remove_n(
10730 payload: *mut CassCustomPayload,
10731 name: *const ::std::os::raw::c_char,
10732 name_length: usize,
10733 );
10734}
10735extern "C" {
10736 #[doc = " Gets the string for a consistency."]
10737 #[doc = ""]
10738 #[doc = " @param[in] consistency"]
10739 #[doc = " @return A null-terminated string for the consistency."]
10740 #[doc = " Example: \"ALL\", \"ONE\", \"QUORUM\", etc."]
10741 pub fn cass_consistency_string(consistency: CassConsistency) -> *const ::std::os::raw::c_char;
10742}
10743extern "C" {
10744 #[doc = " Write type"]
10745 #[doc = ""]
10746 #[doc = " Gets the string for a write type."]
10747 #[doc = ""]
10748 #[doc = " @param[in] write_type"]
10749 #[doc = " @return A null-terminated string for the write type."]
10750 #[doc = " Example: \"BATCH\", \"SIMPLE\", \"COUNTER\", etc."]
10751 pub fn cass_write_type_string(write_type: CassWriteType) -> *const ::std::os::raw::c_char;
10752}
10753extern "C" {
10754 #[doc = " Gets a description for an error code."]
10755 #[doc = ""]
10756 #[doc = " @param[in] error"]
10757 #[doc = " @return A null-terminated string describing the error."]
10758 pub fn cass_error_desc(error: CassError) -> *const ::std::os::raw::c_char;
10759}
10760extern "C" {
10761 pub fn cass_log_cleanup();
10762}
10763extern "C" {
10764 #[doc = " Sets the log level."]
10765 #[doc = ""]
10766 #[doc = " <b>Note:</b> This needs to be done before any call that might log, such as"]
10767 #[doc = " any of the cass_cluster_*() or cass_ssl_*() functions."]
10768 #[doc = ""]
10769 #[doc = " <b>Default:</b> CASS_LOG_WARN"]
10770 #[doc = ""]
10771 #[doc = " @param[in] log_level"]
10772 pub fn cass_log_set_level(log_level: CassLogLevel);
10773}
10774extern "C" {
10775 #[doc = " Sets a callback for handling logging events."]
10776 #[doc = ""]
10777 #[doc = " <b>Note:</b> This needs to be done before any call that might log, such as"]
10778 #[doc = " any of the cass_cluster_*() or cass_ssl_*() functions."]
10779 #[doc = ""]
10780 #[doc = " <b>Default:</b> An internal callback that prints to stderr"]
10781 #[doc = ""]
10782 #[doc = " @param[in] data An opaque data object passed to the callback."]
10783 #[doc = " @param[in] callback A callback that handles logging events. This is"]
10784 #[doc = " called in a separate thread so access to shared data must be synchronized."]
10785 pub fn cass_log_set_callback(callback: CassLogCallback, data: *mut ::std::os::raw::c_void);
10786}
10787extern "C" {
10788 pub fn cass_log_set_queue_size(queue_size: usize);
10789}
10790extern "C" {
10791 #[doc = " Gets the string for a log level."]
10792 #[doc = ""]
10793 #[doc = " @param[in] log_level"]
10794 #[doc = " @return A null-terminated string for the log level."]
10795 #[doc = " Example: \"ERROR\", \"WARN\", \"INFO\", etc."]
10796 pub fn cass_log_level_string(log_level: CassLogLevel) -> *const ::std::os::raw::c_char;
10797}
10798extern "C" {
10799 #[doc = " Constructs an inet v4 object."]
10800 #[doc = ""]
10801 #[doc = " @public @memberof CassInet"]
10802 #[doc = ""]
10803 #[doc = " @param[in] address An address of size CASS_INET_V4_LENGTH"]
10804 #[doc = " @return An inet object."]
10805 pub fn cass_inet_init_v4(address: *const cass_uint8_t) -> CassInet;
10806}
10807extern "C" {
10808 #[doc = " Constructs an inet v6 object."]
10809 #[doc = ""]
10810 #[doc = " @public @memberof CassInet"]
10811 #[doc = ""]
10812 #[doc = " @param[in] address An address of size CASS_INET_V6_LENGTH"]
10813 #[doc = " @return An inet object."]
10814 pub fn cass_inet_init_v6(address: *const cass_uint8_t) -> CassInet;
10815}
10816extern "C" {
10817 #[doc = " Returns a null-terminated string for the specified inet."]
10818 #[doc = ""]
10819 #[doc = " @public @memberof CassInet"]
10820 #[doc = ""]
10821 #[doc = " @param[in] inet"]
10822 #[doc = " @param[out] output A null-terminated string of length CASS_INET_STRING_LENGTH."]
10823 pub fn cass_inet_string(inet: CassInet, output: *mut ::std::os::raw::c_char);
10824}
10825extern "C" {
10826 #[doc = " Returns an inet for the specified string."]
10827 #[doc = ""]
10828 #[doc = " Examples: \"127.0.0.1\" or \"::1\""]
10829 #[doc = ""]
10830 #[doc = " @public @memberof CassInet"]
10831 #[doc = ""]
10832 #[doc = " @param[in] str"]
10833 #[doc = " @param[out] output"]
10834 pub fn cass_inet_from_string(
10835 str_: *const ::std::os::raw::c_char,
10836 output: *mut CassInet,
10837 ) -> CassError;
10838}
10839extern "C" {
10840 #[doc = " Same as cass_inet_from_string(), but with lengths for string"]
10841 #[doc = " parameters."]
10842 #[doc = ""]
10843 #[doc = " @public @memberof CassInet"]
10844 #[doc = ""]
10845 #[doc = " @param[in] str"]
10846 #[doc = " @param[in] str_length"]
10847 #[doc = " @param[out] output"]
10848 #[doc = " @return same as cass_inet_from_string()"]
10849 #[doc = ""]
10850 #[doc = " @see cass_inet_from_string()"]
10851 pub fn cass_inet_from_string_n(
10852 str_: *const ::std::os::raw::c_char,
10853 str_length: usize,
10854 output: *mut CassInet,
10855 ) -> CassError;
10856}
10857extern "C" {
10858 #[doc = " Converts a unix timestamp (in seconds) to the Cassandra \"date\" type. The \"date\" type"]
10859 #[doc = " represents the number of days since the Epoch (1970-01-01) with the Epoch centered at"]
10860 #[doc = " the value 2^31."]
10861 #[doc = ""]
10862 #[doc = " @cassandra{2.2+}"]
10863 #[doc = ""]
10864 #[doc = " @param[in] epoch_secs"]
10865 #[doc = " @return the number of days since the date -5877641-06-23"]
10866 pub fn cass_date_from_epoch(epoch_secs: cass_int64_t) -> cass_uint32_t;
10867}
10868extern "C" {
10869 #[doc = " Converts a unix timestamp (in seconds) to the Cassandra \"time\" type. The \"time\" type"]
10870 #[doc = " represents the number of nanoseconds since midnight (range 0 to 86399999999999)."]
10871 #[doc = ""]
10872 #[doc = " @cassandra{2.2+}"]
10873 #[doc = ""]
10874 #[doc = " @param[in] epoch_secs"]
10875 #[doc = " @return nanoseconds since midnight"]
10876 pub fn cass_time_from_epoch(epoch_secs: cass_int64_t) -> cass_int64_t;
10877}
10878extern "C" {
10879 #[doc = " Combines the Cassandra \"date\" and \"time\" types to Epoch time in seconds."]
10880 #[doc = ""]
10881 #[doc = " @cassandra{2.2+}"]
10882 #[doc = ""]
10883 #[doc = " @param[in] date"]
10884 #[doc = " @param[in] time"]
10885 #[doc = " @return Epoch time in seconds. Negative times are possible if the date"]
10886 #[doc = " occurs before the Epoch (1970-1-1)."]
10887 pub fn cass_date_time_to_epoch(date: cass_uint32_t, time: cass_int64_t) -> cass_int64_t;
10888}
10889extern "C" {
10890 #[doc = " Set custom allocation functions."]
10891 #[doc = ""]
10892 #[doc = " <b>Note:</b> This is not thread-safe. The allocation functions must be set"]
10893 #[doc = " before any other library function is called."]
10894 #[doc = ""]
10895 #[doc = " <b>Default:</b> The C runtime's malloc(), realloc() and free()"]
10896 #[doc = ""]
10897 #[doc = " <b>Important:</b> The C runtime's malloc(), realloc() and free() will be"]
10898 #[doc = " used by libuv when using versions 1.5 or earlier."]
10899 #[doc = ""]
10900 #[doc = " @param[in] malloc_func"]
10901 #[doc = " @param[in] realloc_func"]
10902 #[doc = " @param[in] free_func"]
10903 pub fn cass_alloc_set_functions(
10904 malloc_func: CassMallocFunction,
10905 realloc_func: CassReallocFunction,
10906 free_func: CassFreeFunction,
10907 );
10908}