hapi_rs/ffi/
bindings.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3// Houdini version hfs21.0.512
4
5pub const HAPI_POSITION_VECTOR_SIZE: u32 = 3;
6pub const HAPI_SCALE_VECTOR_SIZE: u32 = 3;
7pub const HAPI_SHEAR_VECTOR_SIZE: u32 = 3;
8pub const HAPI_NORMAL_VECTOR_SIZE: u32 = 3;
9pub const HAPI_QUATERNION_VECTOR_SIZE: u32 = 4;
10pub const HAPI_EULER_VECTOR_SIZE: u32 = 3;
11pub const HAPI_UV_VECTOR_SIZE: u32 = 2;
12pub const HAPI_COLOR_VECTOR_SIZE: u32 = 4;
13pub const HAPI_CV_VECTOR_SIZE: u32 = 4;
14pub const HAPI_PRIM_MIN_VERTEX_COUNT: u32 = 1;
15pub const HAPI_PRIM_MAX_VERTEX_COUNT: u32 = 16;
16pub const HAPI_INVALID_PARM_ID: i32 = -1;
17pub const HAPI_MAX_NUM_CONNECTIONS: u32 = 128;
18pub const HAPI_ATTRIB_POSITION: &[u8; 2] = b"P\0";
19pub const HAPI_ATTRIB_UV: &[u8; 3] = b"uv\0";
20pub const HAPI_ATTRIB_UV2: &[u8; 4] = b"uv2\0";
21pub const HAPI_ATTRIB_NORMAL: &[u8; 2] = b"N\0";
22pub const HAPI_ATTRIB_TANGENT: &[u8; 9] = b"tangentu\0";
23pub const HAPI_ATTRIB_TANGENT2: &[u8; 9] = b"tangentv\0";
24pub const HAPI_ATTRIB_COLOR: &[u8; 3] = b"Cd\0";
25pub const HAPI_ATTRIB_NAME: &[u8; 5] = b"name\0";
26pub const HAPI_ATTRIB_INSTANCE: &[u8; 9] = b"instance\0";
27pub const HAPI_ATTRIB_ROT: &[u8; 4] = b"rot\0";
28pub const HAPI_ATTRIB_SCALE: &[u8; 6] = b"scale\0";
29pub const HAPI_UNGROUPED_GROUP_NAME: &[u8; 18] = b"__ungrouped_group\0";
30pub const HAPI_RAW_FORMAT_NAME: &[u8; 9] = b"HAPI_RAW\0";
31pub const HAPI_PNG_FORMAT_NAME: &[u8; 4] = b"PNG\0";
32pub const HAPI_JPEG_FORMAT_NAME: &[u8; 5] = b"JPEG\0";
33pub const HAPI_BMP_FORMAT_NAME: &[u8; 7] = b"Bitmap\0";
34pub const HAPI_TIFF_FORMAT_NAME: &[u8; 5] = b"TIFF\0";
35pub const HAPI_TGA_FORMAT_NAME: &[u8; 6] = b"Targa\0";
36pub const HAPI_DEFAULT_IMAGE_FORMAT_NAME: &[u8; 4] = b"PNG\0";
37pub const HAPI_GLOBAL_NODES_NODE_NAME: &[u8; 12] = b"GlobalNodes\0";
38pub const HAPI_ENV_HIP: &[u8; 4] = b"HIP\0";
39pub const HAPI_ENV_JOB: &[u8; 4] = b"JOB\0";
40pub const HAPI_ENV_CLIENT_NAME: &[u8; 17] = b"HAPI_CLIENT_NAME\0";
41pub const HAPI_CACHE_COP2_COOK: &[u8; 19] = b"Old COP Cook Cache\0";
42pub const HAPI_CACHE_COP2_FLIPBOOK: &[u8; 21] = b"Composite View Cache\0";
43pub const HAPI_CACHE_IMAGE: &[u8; 12] = b"Image Cache\0";
44pub const HAPI_CACHE_OBJ: &[u8; 23] = b"Object Transform Cache\0";
45pub const HAPI_CACHE_GL_TEXTURE: &[u8; 21] = b"OpenGL Texture Cache\0";
46pub const HAPI_CACHE_GL_VERTEX: &[u8; 20] = b"OpenGL Vertex Cache\0";
47pub const HAPI_CACHE_SOP: &[u8; 10] = b"SOP Cache\0";
48pub const HAPI_CACHE_VEX: &[u8; 15] = b"VEX File Cache\0";
49pub const HAPI_ATTRIB_INPUT_CURVE_COORDS: &[u8; 24] = b"hapi_input_curve_coords\0";
50pub const _STDINT_H: u32 = 1;
51pub const _FEATURES_H: u32 = 1;
52pub const _DEFAULT_SOURCE: u32 = 1;
53pub const __GLIBC_USE_ISOC2X: u32 = 0;
54pub const __USE_ISOC11: u32 = 1;
55pub const __USE_ISOC99: u32 = 1;
56pub const __USE_ISOC95: u32 = 1;
57pub const __USE_POSIX_IMPLICITLY: u32 = 1;
58pub const _POSIX_SOURCE: u32 = 1;
59pub const _POSIX_C_SOURCE: u32 = 200809;
60pub const __USE_POSIX: u32 = 1;
61pub const __USE_POSIX2: u32 = 1;
62pub const __USE_POSIX199309: u32 = 1;
63pub const __USE_POSIX199506: u32 = 1;
64pub const __USE_XOPEN2K: u32 = 1;
65pub const __USE_XOPEN2K8: u32 = 1;
66pub const _ATFILE_SOURCE: u32 = 1;
67pub const __WORDSIZE: u32 = 64;
68pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
69pub const __SYSCALL_WORDSIZE: u32 = 64;
70pub const __TIMESIZE: u32 = 64;
71pub const __USE_MISC: u32 = 1;
72pub const __USE_ATFILE: u32 = 1;
73pub const __USE_FORTIFY_LEVEL: u32 = 0;
74pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
75pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
76pub const __GLIBC_USE_C2X_STRTOL: u32 = 0;
77pub const _STDC_PREDEF_H: u32 = 1;
78pub const __STDC_IEC_559__: u32 = 1;
79pub const __STDC_IEC_60559_BFP__: u32 = 201404;
80pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
81pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
82pub const __STDC_ISO_10646__: u32 = 201706;
83pub const __GNU_LIBRARY__: u32 = 6;
84pub const __GLIBC__: u32 = 2;
85pub const __GLIBC_MINOR__: u32 = 39;
86pub const _SYS_CDEFS_H: u32 = 1;
87pub const __glibc_c99_flexarr_available: u32 = 1;
88pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
89pub const __HAVE_GENERIC_SELECTION: u32 = 1;
90pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
91pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
92pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
93pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
94pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
95pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
96pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
97pub const _BITS_TYPES_H: u32 = 1;
98pub const _BITS_TYPESIZES_H: u32 = 1;
99pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
100pub const __INO_T_MATCHES_INO64_T: u32 = 1;
101pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
102pub const __STATFS_MATCHES_STATFS64: u32 = 1;
103pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
104pub const __FD_SETSIZE: u32 = 1024;
105pub const _BITS_TIME64_H: u32 = 1;
106pub const _BITS_WCHAR_H: u32 = 1;
107pub const _BITS_STDINT_INTN_H: u32 = 1;
108pub const _BITS_STDINT_UINTN_H: u32 = 1;
109pub const _BITS_STDINT_LEAST_H: u32 = 1;
110pub const INT8_MIN: i32 = -128;
111pub const INT16_MIN: i32 = -32768;
112pub const INT32_MIN: i32 = -2147483648;
113pub const INT8_MAX: u32 = 127;
114pub const INT16_MAX: u32 = 32767;
115pub const INT32_MAX: u32 = 2147483647;
116pub const UINT8_MAX: u32 = 255;
117pub const UINT16_MAX: u32 = 65535;
118pub const UINT32_MAX: u32 = 4294967295;
119pub const INT_LEAST8_MIN: i32 = -128;
120pub const INT_LEAST16_MIN: i32 = -32768;
121pub const INT_LEAST32_MIN: i32 = -2147483648;
122pub const INT_LEAST8_MAX: u32 = 127;
123pub const INT_LEAST16_MAX: u32 = 32767;
124pub const INT_LEAST32_MAX: u32 = 2147483647;
125pub const UINT_LEAST8_MAX: u32 = 255;
126pub const UINT_LEAST16_MAX: u32 = 65535;
127pub const UINT_LEAST32_MAX: u32 = 4294967295;
128pub const INT_FAST8_MIN: i32 = -128;
129pub const INT_FAST16_MIN: i64 = -9223372036854775808;
130pub const INT_FAST32_MIN: i64 = -9223372036854775808;
131pub const INT_FAST8_MAX: u32 = 127;
132pub const INT_FAST16_MAX: u64 = 9223372036854775807;
133pub const INT_FAST32_MAX: u64 = 9223372036854775807;
134pub const UINT_FAST8_MAX: u32 = 255;
135pub const UINT_FAST16_MAX: i32 = -1;
136pub const UINT_FAST32_MAX: i32 = -1;
137pub const INTPTR_MIN: i64 = -9223372036854775808;
138pub const INTPTR_MAX: u64 = 9223372036854775807;
139pub const UINTPTR_MAX: i32 = -1;
140pub const PTRDIFF_MIN: i64 = -9223372036854775808;
141pub const PTRDIFF_MAX: u64 = 9223372036854775807;
142pub const SIG_ATOMIC_MIN: i32 = -2147483648;
143pub const SIG_ATOMIC_MAX: u32 = 2147483647;
144pub const SIZE_MAX: i32 = -1;
145pub const WINT_MIN: u32 = 0;
146pub const WINT_MAX: u32 = 4294967295;
147pub const HAPI_VERSION_HOUDINI_MAJOR: u32 = 21;
148pub const HAPI_VERSION_HOUDINI_MINOR: u32 = 0;
149pub const HAPI_VERSION_HOUDINI_BUILD: u32 = 512;
150pub const HAPI_VERSION_HOUDINI_PATCH: u32 = 0;
151pub const HAPI_VERSION_HOUDINI_ENGINE_MAJOR: u32 = 8;
152pub const HAPI_VERSION_HOUDINI_ENGINE_MINOR: u32 = 0;
153pub const HAPI_VERSION_HOUDINI_ENGINE_API: u32 = 2;
154pub type HAPI_Bool = ::std::os::raw::c_char;
155pub type __u_char = ::std::os::raw::c_uchar;
156pub type __u_short = ::std::os::raw::c_ushort;
157pub type __u_int = ::std::os::raw::c_uint;
158pub type __u_long = ::std::os::raw::c_ulong;
159pub type __int8_t = ::std::os::raw::c_schar;
160pub type __uint8_t = ::std::os::raw::c_uchar;
161pub type __int16_t = ::std::os::raw::c_short;
162pub type __uint16_t = ::std::os::raw::c_ushort;
163pub type __int32_t = ::std::os::raw::c_int;
164pub type __uint32_t = ::std::os::raw::c_uint;
165pub type __int64_t = ::std::os::raw::c_long;
166pub type __uint64_t = ::std::os::raw::c_ulong;
167pub type __int_least8_t = __int8_t;
168pub type __uint_least8_t = __uint8_t;
169pub type __int_least16_t = __int16_t;
170pub type __uint_least16_t = __uint16_t;
171pub type __int_least32_t = __int32_t;
172pub type __uint_least32_t = __uint32_t;
173pub type __int_least64_t = __int64_t;
174pub type __uint_least64_t = __uint64_t;
175pub type __quad_t = ::std::os::raw::c_long;
176pub type __u_quad_t = ::std::os::raw::c_ulong;
177pub type __intmax_t = ::std::os::raw::c_long;
178pub type __uintmax_t = ::std::os::raw::c_ulong;
179pub type __dev_t = ::std::os::raw::c_ulong;
180pub type __uid_t = ::std::os::raw::c_uint;
181pub type __gid_t = ::std::os::raw::c_uint;
182pub type __ino_t = ::std::os::raw::c_ulong;
183pub type __ino64_t = ::std::os::raw::c_ulong;
184pub type __mode_t = ::std::os::raw::c_uint;
185pub type __nlink_t = ::std::os::raw::c_ulong;
186pub type __off_t = ::std::os::raw::c_long;
187pub type __off64_t = ::std::os::raw::c_long;
188pub type __pid_t = ::std::os::raw::c_int;
189#[repr(C)]
190#[derive(Debug, Copy, Clone)]
191pub struct __fsid_t {
192    pub __val: [::std::os::raw::c_int; 2usize],
193}
194pub type __clock_t = ::std::os::raw::c_long;
195pub type __rlim_t = ::std::os::raw::c_ulong;
196pub type __rlim64_t = ::std::os::raw::c_ulong;
197pub type __id_t = ::std::os::raw::c_uint;
198pub type __time_t = ::std::os::raw::c_long;
199pub type __useconds_t = ::std::os::raw::c_uint;
200pub type __suseconds_t = ::std::os::raw::c_long;
201pub type __suseconds64_t = ::std::os::raw::c_long;
202pub type __daddr_t = ::std::os::raw::c_int;
203pub type __key_t = ::std::os::raw::c_int;
204pub type __clockid_t = ::std::os::raw::c_int;
205pub type __timer_t = *mut ::std::os::raw::c_void;
206pub type __blksize_t = ::std::os::raw::c_long;
207pub type __blkcnt_t = ::std::os::raw::c_long;
208pub type __blkcnt64_t = ::std::os::raw::c_long;
209pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
210pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
211pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
212pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
213pub type __fsword_t = ::std::os::raw::c_long;
214pub type __ssize_t = ::std::os::raw::c_long;
215pub type __syscall_slong_t = ::std::os::raw::c_long;
216pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
217pub type __loff_t = __off64_t;
218pub type __caddr_t = *mut ::std::os::raw::c_char;
219pub type __intptr_t = ::std::os::raw::c_long;
220pub type __socklen_t = ::std::os::raw::c_uint;
221pub type __sig_atomic_t = ::std::os::raw::c_int;
222pub type int_least8_t = __int_least8_t;
223pub type int_least16_t = __int_least16_t;
224pub type int_least32_t = __int_least32_t;
225pub type int_least64_t = __int_least64_t;
226pub type uint_least8_t = __uint_least8_t;
227pub type uint_least16_t = __uint_least16_t;
228pub type uint_least32_t = __uint_least32_t;
229pub type uint_least64_t = __uint_least64_t;
230pub type int_fast8_t = ::std::os::raw::c_schar;
231pub type int_fast16_t = ::std::os::raw::c_long;
232pub type int_fast32_t = ::std::os::raw::c_long;
233pub type int_fast64_t = ::std::os::raw::c_long;
234pub type uint_fast8_t = ::std::os::raw::c_uchar;
235pub type uint_fast16_t = ::std::os::raw::c_ulong;
236pub type uint_fast32_t = ::std::os::raw::c_ulong;
237pub type uint_fast64_t = ::std::os::raw::c_ulong;
238pub type intmax_t = __intmax_t;
239pub type uintmax_t = __uintmax_t;
240pub type HAPI_UInt8 = u8;
241pub type static_assert_unsupported_size_of_uint8 = [::std::os::raw::c_char; 1usize];
242pub type HAPI_Int8 = i8;
243pub type static_assert_unsupported_size_of_int8 = [::std::os::raw::c_char; 1usize];
244pub type HAPI_Int16 = i16;
245pub type static_assert_unsupported_size_of_int16 = [::std::os::raw::c_char; 1usize];
246pub type HAPI_Int64 = i64;
247pub type static_assert_unsupported_size_of_long = [::std::os::raw::c_char; 1usize];
248pub type HAPI_ProcessId = ::std::os::raw::c_int;
249pub type HAPI_SessionId = HAPI_Int64;
250pub type HAPI_StringHandle = ::std::os::raw::c_int;
251pub type HAPI_AssetLibraryId = ::std::os::raw::c_int;
252pub type HAPI_NodeId = ::std::os::raw::c_int;
253pub type HAPI_ParmId = ::std::os::raw::c_int;
254pub type HAPI_PartId = ::std::os::raw::c_int;
255pub type HAPI_PDG_WorkItemId = ::std::os::raw::c_int;
256pub type HAPI_PDG_WorkitemId = HAPI_PDG_WorkItemId;
257pub type HAPI_PDG_GraphContextId = ::std::os::raw::c_int;
258pub type HAPI_HIPFileId = ::std::os::raw::c_int;
259#[repr(u32)]
260#[non_exhaustive]
261#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
262pub enum License {
263    LicenseNone = 0,
264    HoudiniEngine = 1,
265    LicenseHoudini = 2,
266    HoudiniFx = 3,
267    EngineIndie = 4,
268    HoudiniIndie = 5,
269    UnityUnreal = 6,
270    HoudiniEducation = 7,
271    EngineEducation = 8,
272    LicenseMax = 9,
273}
274#[repr(u32)]
275#[non_exhaustive]
276#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
277pub enum StatusType {
278    CallResult = 0,
279    CookResult = 1,
280    CookState = 2,
281    StatusMax = 3,
282}
283impl StatusVerbosity {
284    pub const All: StatusVerbosity = StatusVerbosity::Statusverbosity2;
285}
286impl StatusVerbosity {
287    pub const Errors: StatusVerbosity = StatusVerbosity::Statusverbosity0;
288}
289impl StatusVerbosity {
290    pub const Warnings: StatusVerbosity = StatusVerbosity::Statusverbosity1;
291}
292impl StatusVerbosity {
293    pub const Messages: StatusVerbosity = StatusVerbosity::Statusverbosity2;
294}
295#[repr(u32)]
296#[non_exhaustive]
297#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
298pub enum StatusVerbosity {
299    Statusverbosity0 = 0,
300    Statusverbosity1 = 1,
301    Statusverbosity2 = 2,
302}
303#[repr(u32)]
304#[non_exhaustive]
305#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
306pub enum JobStatus {
307    Running = 0,
308    Idle = 1,
309    Max = 2,
310}
311#[repr(u32)]
312#[non_exhaustive]
313#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
314pub enum HapiResult {
315    Success = 0,
316    Failure = 1,
317    AlreadyInitialized = 2,
318    NotInitialized = 3,
319    CantLoadfile = 4,
320    ParmSetFailed = 5,
321    InvalidArgument = 6,
322    CantLoadGeo = 7,
323    CantGeneratePreset = 8,
324    CantLoadPreset = 9,
325    AssetDefAlreadyLoaded = 10,
326    NoLicenseFound = 110,
327    DisallowedNcLicenseFound = 120,
328    DisallowedNcAssetWithCLicense = 130,
329    DisallowedNcAssetWithLcLicense = 140,
330    DisallowedLcAssetWithCLicense = 150,
331    DisallowedHengineindieW3partyPlugin = 160,
332    SharedMemoryBufferOverflow = 170,
333    InvalidSharedMemoryBuffer = 180,
334    AssetInvalid = 200,
335    NodeInvalid = 210,
336    UserInterrupted = 300,
337    InvalidSession = 400,
338}
339#[repr(u32)]
340#[non_exhaustive]
341#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
342pub enum ErrorCode {
343    DefNotFound = 1,
344    PythonNodeError = 2,
345}
346pub type HAPI_ErrorCodeBits = ::std::os::raw::c_int;
347#[repr(u32)]
348#[non_exhaustive]
349#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
350pub enum SessionType {
351    Inprocess = 0,
352    Thrift = 1,
353    Custom1 = 2,
354    Custom2 = 3,
355    Custom3 = 4,
356    Max = 5,
357}
358impl State {
359    pub const MaxReadyState: State = State::ReadyWithCookErrors;
360}
361#[repr(u32)]
362#[non_exhaustive]
363#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
364pub enum State {
365    Ready = 0,
366    ReadyWithFatalErrors = 1,
367    ReadyWithCookErrors = 2,
368    StartingCook = 3,
369    Cooking = 4,
370    StartingLoad = 5,
371    Loading = 6,
372    Max = 7,
373}
374#[repr(i32)]
375#[non_exhaustive]
376#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
377pub enum PackedPrimInstancingMode {
378    Invalid = -1,
379    Disabled = 0,
380    Hierarchy = 1,
381    Flat = 2,
382    Max = 3,
383}
384#[repr(u32)]
385#[non_exhaustive]
386#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
387pub enum Permissions {
388    NonApplicable = 0,
389    ReadWrite = 1,
390    ReadOnly = 2,
391    WriteOnly = 3,
392    PermissionsMax = 4,
393}
394#[repr(i32)]
395#[non_exhaustive]
396#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
397pub enum RampType {
398    Invalid = -1,
399    Float = 0,
400    Color = 1,
401    Max = 2,
402}
403impl ParmType {
404    pub const IntStart: ParmType = ParmType::Int;
405}
406impl ParmType {
407    pub const IntEnd: ParmType = ParmType::Button;
408}
409impl ParmType {
410    pub const FloatStart: ParmType = ParmType::Float;
411}
412impl ParmType {
413    pub const FloatEnd: ParmType = ParmType::Color;
414}
415impl ParmType {
416    pub const StringStart: ParmType = ParmType::String;
417}
418impl ParmType {
419    pub const StringEnd: ParmType = ParmType::Node;
420}
421impl ParmType {
422    pub const PathStart: ParmType = ParmType::PathFile;
423}
424impl ParmType {
425    pub const PathEnd: ParmType = ParmType::PathFileImage;
426}
427impl ParmType {
428    pub const NodeStart: ParmType = ParmType::Node;
429}
430impl ParmType {
431    pub const NodeEnd: ParmType = ParmType::Node;
432}
433impl ParmType {
434    pub const ContainerStart: ParmType = ParmType::Folderlist;
435}
436impl ParmType {
437    pub const ContainerEnd: ParmType = ParmType::FolderlistRadio;
438}
439impl ParmType {
440    pub const NonvalueStart: ParmType = ParmType::Folder;
441}
442impl ParmType {
443    pub const NonvalueEnd: ParmType = ParmType::Separator;
444}
445#[repr(u32)]
446#[non_exhaustive]
447#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
448pub enum ParmType {
449    Int = 0,
450    Multiparmlist = 1,
451    Toggle = 2,
452    Button = 3,
453    Float = 4,
454    Color = 5,
455    String = 6,
456    PathFile = 7,
457    PathFileGeo = 8,
458    PathFileImage = 9,
459    Node = 10,
460    Folderlist = 11,
461    FolderlistRadio = 12,
462    Folder = 13,
463    Label = 14,
464    Separator = 15,
465    PathFileDir = 16,
466    Max = 17,
467}
468#[repr(u32)]
469#[non_exhaustive]
470#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
471pub enum PrmScriptType {
472    Int = 0,
473    Float = 1,
474    Angle = 2,
475    String = 3,
476    File = 4,
477    Directory = 5,
478    Image = 6,
479    Geometry = 7,
480    Toggle = 8,
481    Button = 9,
482    Vector2 = 10,
483    Vector3 = 11,
484    Vector4 = 12,
485    Intvector2 = 13,
486    Intvector3 = 14,
487    Intvector4 = 15,
488    Uv = 16,
489    Uvw = 17,
490    Dir = 18,
491    Color = 19,
492    Color4 = 20,
493    Huecircle = 21,
494    Oppath = 22,
495    Oplist = 23,
496    Object = 24,
497    Objectlist = 25,
498    Render = 26,
499    Separator = 27,
500    Data = 28,
501    Dict = 29,
502    Label = 30,
503    Rgbamask = 31,
504    Ordinal = 32,
505    Flt = 33,
506    Rgb = 34,
507    Log = 35,
508    IntLog = 36,
509    TypeData = 37,
510    Minmax = 38,
511    IntMinmax = 39,
512    Startend = 40,
513    Buttonstrip = 41,
514    Iconstrip = 42,
515    Groupradio = 1000,
516    Groupcollapsible = 1001,
517    Groupsimple = 1002,
518    Group = 1003,
519}
520#[repr(u32)]
521#[non_exhaustive]
522#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
523pub enum ChoiceListType {
524    None = 0,
525    Normal = 1,
526    Mini = 2,
527    Replace = 3,
528    Toggle = 4,
529}
530#[repr(i32)]
531#[non_exhaustive]
532#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
533pub enum PresetType {
534    Invalid = -1,
535    Binary = 0,
536    Idx = 1,
537    Max = 2,
538}
539#[repr(i32)]
540#[non_exhaustive]
541#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
542pub enum NodeType {
543    Any = -1,
544    None = 0,
545    Obj = 1,
546    Sop = 2,
547    Chop = 4,
548    Rop = 8,
549    Shop = 16,
550    Cop2 = 32,
551    Vop = 64,
552    Dop = 128,
553    Top = 256,
554    Cop = 512,
555    Lop = 1024,
556}
557pub type HAPI_NodeTypeBits = ::std::os::raw::c_int;
558#[repr(i32)]
559#[non_exhaustive]
560#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
561pub enum NodeFlags {
562    Any = -1,
563    None = 0,
564    Display = 1,
565    Render = 2,
566    Templated = 4,
567    Locked = 8,
568    Editable = 16,
569    Bypass = 32,
570    Network = 64,
571    Geometry = 128,
572    Camera = 256,
573    Light = 512,
574    Subnet = 1024,
575    Curve = 2048,
576    Guide = 4096,
577    Nonscheduler = 8192,
578    NonBypass = 16384,
579}
580pub type HAPI_NodeFlagsBits = ::std::os::raw::c_int;
581#[repr(i32)]
582#[non_exhaustive]
583#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
584pub enum GroupType {
585    Invalid = -1,
586    Point = 0,
587    Prim = 1,
588    Edge = 2,
589    Max = 3,
590}
591#[repr(i32)]
592#[non_exhaustive]
593#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
594pub enum AttributeOwner {
595    Invalid = -1,
596    Vertex = 0,
597    Point = 1,
598    Prim = 2,
599    Detail = 3,
600    Max = 4,
601}
602#[repr(i32)]
603#[non_exhaustive]
604#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
605pub enum CurveType {
606    Invalid = -1,
607    Linear = 0,
608    Nurbs = 1,
609    Bezier = 2,
610    Max = 3,
611}
612#[repr(i32)]
613#[non_exhaustive]
614#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
615pub enum InputCurveMethod {
616    Invalid = -1,
617    Cvs = 0,
618    Breakpoints = 1,
619    Max = 2,
620}
621#[repr(i32)]
622#[non_exhaustive]
623#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
624pub enum InputCurveParameterization {
625    Invalid = -1,
626    Uniform = 0,
627    Chord = 1,
628    Centripetal = 2,
629    Max = 3,
630}
631#[repr(i32)]
632#[non_exhaustive]
633#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
634pub enum VolumeType {
635    Invalid = -1,
636    Houdini = 0,
637    Vdb = 1,
638    Max = 2,
639}
640#[repr(i32)]
641#[non_exhaustive]
642#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
643pub enum VolumeVisualType {
644    Invalid = -1,
645    Smoke = 0,
646    Rainbow = 1,
647    Iso = 2,
648    Invisible = 3,
649    Heightfield = 4,
650    Max = 5,
651}
652#[repr(i32)]
653#[non_exhaustive]
654#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
655pub enum StorageType {
656    Invalid = -1,
657    Int = 0,
658    Int64 = 1,
659    Float = 2,
660    Float64 = 3,
661    String = 4,
662    Uint8 = 5,
663    Int8 = 6,
664    Int16 = 7,
665    Dictionary = 8,
666    IntArray = 9,
667    Int64Array = 10,
668    FloatArray = 11,
669    Float64Array = 12,
670    StringArray = 13,
671    Uint8Array = 14,
672    Int8Array = 15,
673    Int16Array = 16,
674    DictionaryArray = 17,
675    Max = 18,
676}
677#[repr(i32)]
678#[non_exhaustive]
679#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
680pub enum AttributeTypeInfo {
681    Invalid = -1,
682    None = 0,
683    Point = 1,
684    Hpoint = 2,
685    Vector = 3,
686    Normal = 4,
687    Color = 5,
688    Quaternion = 6,
689    Matrix3 = 7,
690    Matrix = 8,
691    St = 9,
692    Hidden = 10,
693    Box2 = 11,
694    Box = 12,
695    Texture = 13,
696    Max = 14,
697}
698#[repr(i32)]
699#[non_exhaustive]
700#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
701pub enum GeoType {
702    Invalid = -1,
703    Default = 0,
704    Intermediate = 1,
705    Input = 2,
706    Curve = 3,
707    Max = 4,
708}
709#[repr(i32)]
710#[non_exhaustive]
711#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
712pub enum PartType {
713    Invalid = -1,
714    Mesh = 0,
715    Curve = 1,
716    Volume = 2,
717    Instancer = 3,
718    Box = 4,
719    Sphere = 5,
720    Max = 6,
721}
722#[repr(i32)]
723#[non_exhaustive]
724#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
725pub enum InputType {
726    Invalid = -1,
727    Transform = 0,
728    Geometry = 1,
729    Max = 2,
730}
731#[repr(u32)]
732#[non_exhaustive]
733#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
734pub enum CurveOrders {
735    Varying = 0,
736    Invalid = 1,
737    Linear = 2,
738    Quadratic = 3,
739    Cubic = 4,
740}
741#[repr(u32)]
742#[non_exhaustive]
743#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
744pub enum TransformComponent {
745    Tx = 0,
746    Ty = 1,
747    Tz = 2,
748    Rx = 3,
749    Ry = 4,
750    Rz = 5,
751    Qx = 6,
752    Qy = 7,
753    Qz = 8,
754    Qw = 9,
755    Sx = 10,
756    Sy = 11,
757    Sz = 12,
758}
759impl RSTOrder {
760    pub const Default: RSTOrder = RSTOrder::Srt;
761}
762#[repr(u32)]
763#[non_exhaustive]
764#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
765pub enum RSTOrder {
766    Trs = 0,
767    Tsr = 1,
768    Rts = 2,
769    Rst = 3,
770    Str = 4,
771    Srt = 5,
772}
773impl XYZOrder {
774    pub const Default: XYZOrder = XYZOrder::Xyz;
775}
776#[repr(u32)]
777#[non_exhaustive]
778#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
779pub enum XYZOrder {
780    Xyz = 0,
781    Xzy = 1,
782    Yxz = 2,
783    Yzx = 3,
784    Zxy = 4,
785    Zyx = 5,
786}
787impl ImageDataFormat {
788    pub const Default: ImageDataFormat = ImageDataFormat::Int8;
789}
790#[repr(i32)]
791#[non_exhaustive]
792#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
793pub enum ImageDataFormat {
794    Unknown = -1,
795    Int8 = 0,
796    Int16 = 1,
797    Int32 = 2,
798    Float16 = 3,
799    Float32 = 4,
800    Max = 5,
801}
802impl ImagePacking {
803    pub const Default3: ImagePacking = ImagePacking::Rgb;
804}
805impl ImagePacking {
806    pub const Default4: ImagePacking = ImagePacking::Rgba;
807}
808#[repr(i32)]
809#[non_exhaustive]
810#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
811pub enum ImagePacking {
812    Unknown = -1,
813    Single = 0,
814    Dual = 1,
815    Rgb = 2,
816    Bgr = 3,
817    Rgba = 4,
818    Abgr = 5,
819    Max = 6,
820}
821#[repr(i32)]
822#[non_exhaustive]
823#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
824pub enum EnvIntType {
825    EnvintInvalid = -1,
826    HoudiniMajor = 100,
827    HoudiniMinor = 110,
828    HoudiniBuild = 120,
829    HoudiniPatch = 130,
830    EngineMajor = 200,
831    EngineMinor = 210,
832    EngineApi = 220,
833    EnvintMax = 221,
834}
835#[repr(i32)]
836#[non_exhaustive]
837#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
838pub enum SessionEnvIntType {
839    Invalid = -1,
840    License = 100,
841    Max = 101,
842}
843#[repr(u32)]
844#[non_exhaustive]
845#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
846pub enum CacheProperty {
847    CachepropCurrent = 0,
848    HasMin = 1,
849    CachepropMin = 2,
850    HasMax = 3,
851    CachepropMax = 4,
852    CullLevel = 5,
853}
854#[repr(u32)]
855#[non_exhaustive]
856#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
857pub enum HeightFieldSampling {
858    Center = 0,
859    Corner = 1,
860}
861impl PdgState {
862    pub const State: PdgState = PdgState::Ready;
863}
864#[repr(u32)]
865#[non_exhaustive]
866#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
867pub enum PdgState {
868    Ready = 0,
869    Cooking = 1,
870    Max = 2,
871}
872#[repr(u32)]
873#[non_exhaustive]
874#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
875pub enum PdgEventType {
876    PdgEventNull = 0,
877    EventWorkitemAdd = 1,
878    EventWorkitemRemove = 2,
879    WorkitemStateChange = 3,
880    WorkitemAddDep = 4,
881    WorkitemRemoveDep = 5,
882    WorkitemAddParent = 6,
883    WorkitemRemoveParent = 7,
884    EventNodeClear = 8,
885    EventCookError = 9,
886    EventCookWarning = 10,
887    EventCookComplete = 11,
888    EventDirtyStart = 12,
889    EventDirtyStop = 13,
890    EventDirtyAll = 14,
891    EventUiSelect = 15,
892    EventNodeCreate = 16,
893    EventNodeRemove = 17,
894    EventNodeRename = 18,
895    EventNodeConnect = 19,
896    EventNodeDisconnect = 20,
897    NodeFirstCook = 21,
898    WorkitemSetInt = 22,
899    WorkitemSetFloat = 23,
900    WorkitemSetString = 24,
901    WorkitemSetFile = 25,
902    WorkitemSetDict = 26,
903    WorkitemSetPyobject = 27,
904    WorkitemSetGeometry = 28,
905    EventWorkitemMerge = 29,
906    EventWorkitemResult = 30,
907    EventWorkitemPriority = 31,
908    EventCookStart = 32,
909    AddStaticAncestor = 33,
910    RemoveStaticAncestor = 34,
911    NodeProgressUpdate = 35,
912    BatchItemInitialized = 36,
913    PdgEventAll = 37,
914    PdgEventLog = 38,
915    EventSchedulerAdded = 39,
916    EventSchedulerRemoved = 40,
917    EventSetScheduler = 41,
918    ServiceManagerAll = 42,
919    EventNodeCooked = 43,
920    EventNodeGenerated = 44,
921    EventWorkitemFrame = 45,
922    PdgContextEvents = 46,
923}
924#[repr(u32)]
925#[non_exhaustive]
926#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
927pub enum PdgWorkItemState {
928    Undefined = 0,
929    Uncooked = 1,
930    Waiting = 2,
931    Scheduled = 3,
932    Cooking = 4,
933    Success = 5,
934    Cache = 6,
935    Fail = 7,
936    Cancel = 8,
937    Dirty = 9,
938}
939pub use self::PdgWorkItemState as HAPI_PDG_WorkitemState;
940#[repr(u32)]
941#[non_exhaustive]
942#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
943pub enum TcpPortType {
944    Any = 0,
945    Range = 1,
946    List = 2,
947}
948#[repr(u32)]
949#[non_exhaustive]
950#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
951pub enum ThriftSharedMemoryBufferType {
952    Buffer = 0,
953    RingBuffer = 1,
954}
955#[repr(C)]
956#[derive(Debug, Copy, Clone)]
957pub struct HAPI_Transform {
958    pub position: [f32; 3usize],
959    pub rotationQuaternion: [f32; 4usize],
960    pub scale: [f32; 3usize],
961    pub shear: [f32; 3usize],
962    pub rstOrder: RSTOrder,
963}
964#[repr(C)]
965#[derive(Debug, Copy, Clone)]
966pub struct HAPI_TransformEuler {
967    pub position: [f32; 3usize],
968    pub rotationEuler: [f32; 3usize],
969    pub scale: [f32; 3usize],
970    pub shear: [f32; 3usize],
971    pub rotationOrder: XYZOrder,
972    pub rstOrder: RSTOrder,
973}
974#[repr(C)]
975#[derive(Debug, Copy, Clone)]
976pub struct HAPI_Session {
977    pub type_: SessionType,
978    pub id: HAPI_SessionId,
979}
980#[repr(C)]
981#[derive(Debug, Copy, Clone)]
982pub struct HAPI_SessionInfo {
983    pub connectionCount: ::std::os::raw::c_int,
984    pub portType: TcpPortType,
985    pub minPort: ::std::os::raw::c_int,
986    pub maxPort: ::std::os::raw::c_int,
987    pub ports: [::std::os::raw::c_int; 128usize],
988    pub sharedMemoryBufferType: ThriftSharedMemoryBufferType,
989    pub sharedMemoryBufferSize: HAPI_Int64,
990    pub enableSharedMemoryDataTransfer: HAPI_Bool,
991}
992#[repr(C)]
993#[derive(Debug, Copy, Clone)]
994pub struct HAPI_ThriftServerOptions {
995    pub autoClose: HAPI_Bool,
996    pub timeoutMs: f32,
997    pub verbosity: StatusVerbosity,
998    pub sharedMemoryBufferType: ThriftSharedMemoryBufferType,
999    pub sharedMemoryBufferSize: HAPI_Int64,
1000}
1001#[repr(C)]
1002#[derive(Debug, Copy, Clone)]
1003pub struct HAPI_TimelineOptions {
1004    pub fps: f64,
1005    pub startTime: f64,
1006    pub endTime: f64,
1007}
1008#[repr(C)]
1009#[derive(Debug, Copy, Clone)]
1010pub struct HAPI_AssetInfo {
1011    pub nodeId: HAPI_NodeId,
1012    pub objectNodeId: HAPI_NodeId,
1013    pub hasEverCooked: HAPI_Bool,
1014    pub nameSH: HAPI_StringHandle,
1015    pub labelSH: HAPI_StringHandle,
1016    pub filePathSH: HAPI_StringHandle,
1017    pub versionSH: HAPI_StringHandle,
1018    pub fullOpNameSH: HAPI_StringHandle,
1019    pub helpTextSH: HAPI_StringHandle,
1020    pub helpURLSH: HAPI_StringHandle,
1021    pub objectCount: ::std::os::raw::c_int,
1022    pub handleCount: ::std::os::raw::c_int,
1023    pub transformInputCount: ::std::os::raw::c_int,
1024    pub geoInputCount: ::std::os::raw::c_int,
1025    pub geoOutputCount: ::std::os::raw::c_int,
1026    pub haveObjectsChanged: HAPI_Bool,
1027    pub haveMaterialsChanged: HAPI_Bool,
1028}
1029#[repr(C)]
1030#[derive(Debug, Copy, Clone)]
1031pub struct HAPI_CookOptions {
1032    pub splitGeosByGroup: HAPI_Bool,
1033    pub splitGroupSH: HAPI_StringHandle,
1034    pub splitGeosByAttribute: HAPI_Bool,
1035    pub splitAttrSH: HAPI_StringHandle,
1036    pub maxVerticesPerPrimitive: ::std::os::raw::c_int,
1037    pub refineCurveToLinear: HAPI_Bool,
1038    pub curveRefineLOD: f32,
1039    pub clearErrorsAndWarnings: HAPI_Bool,
1040    pub cookTemplatedGeos: HAPI_Bool,
1041    pub splitPointsByVertexAttributes: HAPI_Bool,
1042    pub packedPrimInstancingMode: PackedPrimInstancingMode,
1043    pub handleBoxPartTypes: HAPI_Bool,
1044    pub handleSpherePartTypes: HAPI_Bool,
1045    pub checkPartChanges: HAPI_Bool,
1046    pub cacheMeshTopology: HAPI_Bool,
1047    pub preferOutputNodes: HAPI_Bool,
1048    pub extraFlags: ::std::os::raw::c_int,
1049}
1050#[repr(C)]
1051#[derive(Debug, Copy, Clone)]
1052pub struct HAPI_NodeInfo {
1053    pub id: HAPI_NodeId,
1054    pub parentId: HAPI_NodeId,
1055    pub nameSH: HAPI_StringHandle,
1056    pub type_: NodeType,
1057    pub isValid: HAPI_Bool,
1058    pub totalCookCount: ::std::os::raw::c_int,
1059    pub uniqueHoudiniNodeId: ::std::os::raw::c_int,
1060    pub internalNodePathSH: HAPI_StringHandle,
1061    pub parmCount: ::std::os::raw::c_int,
1062    pub parmIntValueCount: ::std::os::raw::c_int,
1063    pub parmFloatValueCount: ::std::os::raw::c_int,
1064    pub parmStringValueCount: ::std::os::raw::c_int,
1065    pub parmChoiceCount: ::std::os::raw::c_int,
1066    pub childNodeCount: ::std::os::raw::c_int,
1067    pub inputCount: ::std::os::raw::c_int,
1068    pub outputCount: ::std::os::raw::c_int,
1069    pub createdPostAssetLoad: HAPI_Bool,
1070    pub isTimeDependent: HAPI_Bool,
1071}
1072#[repr(C)]
1073#[derive(Debug, Copy, Clone)]
1074pub struct HAPI_ParmInfo {
1075    pub id: HAPI_ParmId,
1076    pub parentId: HAPI_ParmId,
1077    pub childIndex: ::std::os::raw::c_int,
1078    pub type_: ParmType,
1079    pub scriptType: PrmScriptType,
1080    pub typeInfoSH: HAPI_StringHandle,
1081    pub permissions: Permissions,
1082    pub tagCount: ::std::os::raw::c_int,
1083    pub size: ::std::os::raw::c_int,
1084    pub choiceListType: ChoiceListType,
1085    pub choiceCount: ::std::os::raw::c_int,
1086    pub nameSH: HAPI_StringHandle,
1087    pub labelSH: HAPI_StringHandle,
1088    pub templateNameSH: HAPI_StringHandle,
1089    pub helpSH: HAPI_StringHandle,
1090    pub hasMin: HAPI_Bool,
1091    pub hasMax: HAPI_Bool,
1092    pub hasUIMin: HAPI_Bool,
1093    pub hasUIMax: HAPI_Bool,
1094    pub min: f32,
1095    pub max: f32,
1096    pub UIMin: f32,
1097    pub UIMax: f32,
1098    pub invisible: HAPI_Bool,
1099    pub disabled: HAPI_Bool,
1100    pub spare: HAPI_Bool,
1101    pub joinNext: HAPI_Bool,
1102    pub labelNone: HAPI_Bool,
1103    pub intValuesIndex: ::std::os::raw::c_int,
1104    pub floatValuesIndex: ::std::os::raw::c_int,
1105    pub stringValuesIndex: ::std::os::raw::c_int,
1106    pub choiceIndex: ::std::os::raw::c_int,
1107    pub inputNodeType: NodeType,
1108    pub inputNodeFlag: NodeFlags,
1109    pub isChildOfMultiParm: HAPI_Bool,
1110    pub instanceNum: ::std::os::raw::c_int,
1111    pub instanceLength: ::std::os::raw::c_int,
1112    pub instanceCount: ::std::os::raw::c_int,
1113    pub instanceStartOffset: ::std::os::raw::c_int,
1114    pub rampType: RampType,
1115    pub visibilityConditionSH: HAPI_StringHandle,
1116    pub disabledConditionSH: HAPI_StringHandle,
1117    pub useMenuItemTokenAsValue: HAPI_Bool,
1118}
1119#[repr(C)]
1120#[derive(Debug, Copy, Clone)]
1121pub struct HAPI_ParmChoiceInfo {
1122    pub parentParmId: HAPI_ParmId,
1123    pub labelSH: HAPI_StringHandle,
1124    pub valueSH: HAPI_StringHandle,
1125}
1126#[repr(C)]
1127#[derive(Debug, Copy, Clone)]
1128pub struct HAPI_HandleInfo {
1129    pub nameSH: HAPI_StringHandle,
1130    pub typeNameSH: HAPI_StringHandle,
1131    pub bindingsCount: ::std::os::raw::c_int,
1132}
1133#[repr(C)]
1134#[derive(Debug, Copy, Clone)]
1135pub struct HAPI_HandleBindingInfo {
1136    pub handleParmNameSH: HAPI_StringHandle,
1137    pub assetParmNameSH: HAPI_StringHandle,
1138    pub assetParmId: HAPI_ParmId,
1139    pub assetParmIndex: ::std::os::raw::c_int,
1140}
1141#[repr(C)]
1142#[derive(Debug, Copy, Clone)]
1143pub struct HAPI_ObjectInfo {
1144    pub nameSH: HAPI_StringHandle,
1145    pub objectInstancePathSH: HAPI_StringHandle,
1146    pub hasTransformChanged: HAPI_Bool,
1147    pub haveGeosChanged: HAPI_Bool,
1148    pub isVisible: HAPI_Bool,
1149    pub isInstancer: HAPI_Bool,
1150    pub isInstanced: HAPI_Bool,
1151    pub geoCount: ::std::os::raw::c_int,
1152    pub nodeId: HAPI_NodeId,
1153    pub objectToInstanceId: HAPI_NodeId,
1154}
1155#[repr(C)]
1156#[derive(Debug, Copy, Clone)]
1157pub struct HAPI_GeoInfo {
1158    pub type_: GeoType,
1159    pub nameSH: HAPI_StringHandle,
1160    pub nodeId: HAPI_NodeId,
1161    pub isEditable: HAPI_Bool,
1162    pub isTemplated: HAPI_Bool,
1163    pub isDisplayGeo: HAPI_Bool,
1164    pub hasGeoChanged: HAPI_Bool,
1165    pub hasMaterialChanged: HAPI_Bool,
1166    pub pointGroupCount: ::std::os::raw::c_int,
1167    pub primitiveGroupCount: ::std::os::raw::c_int,
1168    pub edgeGroupCount: ::std::os::raw::c_int,
1169    pub partCount: ::std::os::raw::c_int,
1170}
1171#[repr(C)]
1172#[derive(Debug, Copy, Clone)]
1173pub struct HAPI_PartInfo {
1174    pub id: HAPI_PartId,
1175    pub nameSH: HAPI_StringHandle,
1176    pub type_: PartType,
1177    pub faceCount: ::std::os::raw::c_int,
1178    pub vertexCount: ::std::os::raw::c_int,
1179    pub pointCount: ::std::os::raw::c_int,
1180    pub attributeCounts: [::std::os::raw::c_int; 4usize],
1181    pub isInstanced: HAPI_Bool,
1182    pub instancedPartCount: ::std::os::raw::c_int,
1183    pub instanceCount: ::std::os::raw::c_int,
1184    pub hasChanged: HAPI_Bool,
1185}
1186#[repr(C)]
1187#[derive(Debug, Copy, Clone)]
1188pub struct HAPI_AttributeInfo {
1189    pub exists: HAPI_Bool,
1190    pub owner: AttributeOwner,
1191    pub storage: StorageType,
1192    pub originalOwner: AttributeOwner,
1193    pub count: ::std::os::raw::c_int,
1194    pub tupleSize: ::std::os::raw::c_int,
1195    pub totalArrayElements: HAPI_Int64,
1196    pub typeInfo: AttributeTypeInfo,
1197}
1198#[repr(C)]
1199#[derive(Debug, Copy, Clone)]
1200pub struct HAPI_MaterialInfo {
1201    pub nodeId: HAPI_NodeId,
1202    pub exists: HAPI_Bool,
1203    pub hasChanged: HAPI_Bool,
1204}
1205#[repr(C)]
1206#[derive(Debug, Copy, Clone)]
1207pub struct HAPI_ImageFileFormat {
1208    pub nameSH: HAPI_StringHandle,
1209    pub descriptionSH: HAPI_StringHandle,
1210    pub defaultExtensionSH: HAPI_StringHandle,
1211}
1212#[repr(C)]
1213#[derive(Debug, Copy, Clone)]
1214pub struct HAPI_ImageInfo {
1215    pub imageFileFormatNameSH: HAPI_StringHandle,
1216    pub xRes: ::std::os::raw::c_int,
1217    pub yRes: ::std::os::raw::c_int,
1218    pub dataFormat: ImageDataFormat,
1219    pub interleaved: HAPI_Bool,
1220    pub packing: ImagePacking,
1221    pub gamma: f64,
1222}
1223#[repr(C)]
1224#[derive(Debug, Copy, Clone)]
1225pub struct HAPI_Keyframe {
1226    pub time: f32,
1227    pub value: f32,
1228    pub inTangent: f32,
1229    pub outTangent: f32,
1230}
1231#[repr(C)]
1232#[derive(Debug, Copy, Clone)]
1233pub struct HAPI_VolumeInfo {
1234    pub nameSH: HAPI_StringHandle,
1235    pub type_: VolumeType,
1236    pub xLength: ::std::os::raw::c_int,
1237    pub yLength: ::std::os::raw::c_int,
1238    pub zLength: ::std::os::raw::c_int,
1239    pub minX: ::std::os::raw::c_int,
1240    pub minY: ::std::os::raw::c_int,
1241    pub minZ: ::std::os::raw::c_int,
1242    pub tupleSize: ::std::os::raw::c_int,
1243    pub storage: StorageType,
1244    pub tileSize: ::std::os::raw::c_int,
1245    pub transform: HAPI_Transform,
1246    pub hasTaper: HAPI_Bool,
1247    pub xTaper: f32,
1248    pub yTaper: f32,
1249}
1250#[repr(C)]
1251#[derive(Debug, Copy, Clone)]
1252pub struct HAPI_VolumeTileInfo {
1253    pub minX: ::std::os::raw::c_int,
1254    pub minY: ::std::os::raw::c_int,
1255    pub minZ: ::std::os::raw::c_int,
1256    pub isValid: HAPI_Bool,
1257}
1258#[repr(C)]
1259#[derive(Debug, Copy, Clone)]
1260pub struct HAPI_VolumeVisualInfo {
1261    pub type_: VolumeVisualType,
1262    pub iso: f32,
1263    pub density: f32,
1264}
1265#[repr(C)]
1266#[derive(Debug, Copy, Clone)]
1267pub struct HAPI_CurveInfo {
1268    pub curveType: CurveType,
1269    pub curveCount: ::std::os::raw::c_int,
1270    pub vertexCount: ::std::os::raw::c_int,
1271    pub knotCount: ::std::os::raw::c_int,
1272    pub isPeriodic: HAPI_Bool,
1273    pub isRational: HAPI_Bool,
1274    pub order: ::std::os::raw::c_int,
1275    pub hasKnots: HAPI_Bool,
1276    pub isClosed: HAPI_Bool,
1277}
1278#[repr(C)]
1279#[derive(Debug, Copy, Clone)]
1280pub struct HAPI_InputCurveInfo {
1281    pub curveType: CurveType,
1282    pub order: ::std::os::raw::c_int,
1283    pub closed: HAPI_Bool,
1284    pub reverse: HAPI_Bool,
1285    pub inputMethod: InputCurveMethod,
1286    pub breakpointParameterization: InputCurveParameterization,
1287}
1288#[repr(C)]
1289#[derive(Debug, Copy, Clone)]
1290pub struct HAPI_BoxInfo {
1291    pub center: [f32; 3usize],
1292    pub size: [f32; 3usize],
1293    pub rotation: [f32; 3usize],
1294}
1295#[repr(C)]
1296#[derive(Debug, Copy, Clone)]
1297pub struct HAPI_SphereInfo {
1298    pub center: [f32; 3usize],
1299    pub radius: f32,
1300}
1301#[repr(C)]
1302#[derive(Debug, Copy, Clone)]
1303pub struct HAPI_PDG_EventInfo {
1304    pub nodeId: HAPI_NodeId,
1305    pub workItemId: HAPI_PDG_WorkItemId,
1306    pub dependencyId: HAPI_PDG_WorkItemId,
1307    pub currentState: ::std::os::raw::c_int,
1308    pub lastState: ::std::os::raw::c_int,
1309    pub eventType: ::std::os::raw::c_int,
1310    pub msgSH: HAPI_StringHandle,
1311}
1312#[repr(C)]
1313#[derive(Debug, Copy, Clone)]
1314pub struct HAPI_PDG_WorkItemInfo {
1315    pub index: ::std::os::raw::c_int,
1316    pub outputFileCount: ::std::os::raw::c_int,
1317    pub nameSH: HAPI_StringHandle,
1318}
1319pub type HAPI_PDG_WorkitemInfo = HAPI_PDG_WorkItemInfo;
1320#[repr(C)]
1321#[derive(Debug, Copy, Clone)]
1322pub struct HAPI_PDG_WorkItemOutputFile {
1323    pub filePathSH: ::std::os::raw::c_int,
1324    pub tagSH: ::std::os::raw::c_int,
1325    pub hash: HAPI_Int64,
1326}
1327pub type HAPI_PDG_WorkitemResultInfo = HAPI_PDG_WorkItemOutputFile;
1328#[repr(C)]
1329#[derive(Debug, Copy, Clone)]
1330pub struct HAPI_Viewport {
1331    pub position: [f32; 3usize],
1332    pub rotationQuaternion: [f32; 4usize],
1333    pub offset: f32,
1334}
1335#[repr(C)]
1336#[derive(Debug, Copy, Clone)]
1337pub struct HAPI_SessionSyncInfo {
1338    pub cookUsingHoudiniTime: HAPI_Bool,
1339    pub syncViewport: HAPI_Bool,
1340}
1341#[repr(C)]
1342#[derive(Debug, Copy, Clone)]
1343pub struct HAPI_CompositorOptions {
1344    pub maximumResolutionX: ::std::os::raw::c_int,
1345    pub maximumResolutionY: ::std::os::raw::c_int,
1346}
1347unsafe extern "C" {
1348    pub fn HAPI_SessionInfo_Init(in_: *mut HAPI_SessionInfo);
1349}
1350unsafe extern "C" {
1351    pub fn HAPI_SessionInfo_Create() -> HAPI_SessionInfo;
1352}
1353unsafe extern "C" {
1354    pub fn HAPI_ThriftServerOptions_Init(in_: *mut HAPI_ThriftServerOptions);
1355}
1356unsafe extern "C" {
1357    pub fn HAPI_ThriftServerOptions_Create() -> HAPI_ThriftServerOptions;
1358}
1359unsafe extern "C" {
1360    pub fn HAPI_TimelineOptions_Init(in_: *mut HAPI_TimelineOptions);
1361}
1362unsafe extern "C" {
1363    pub fn HAPI_TimelineOptions_Create() -> HAPI_TimelineOptions;
1364}
1365unsafe extern "C" {
1366    pub fn HAPI_CompositorOptions_Init(in_: *mut HAPI_CompositorOptions);
1367}
1368unsafe extern "C" {
1369    pub fn HAPI_CompositorOptions_Create() -> HAPI_CompositorOptions;
1370}
1371unsafe extern "C" {
1372    pub fn HAPI_AssetInfo_Init(in_: *mut HAPI_AssetInfo);
1373}
1374unsafe extern "C" {
1375    pub fn HAPI_AssetInfo_Create() -> HAPI_AssetInfo;
1376}
1377unsafe extern "C" {
1378    pub fn HAPI_CookOptions_Init(in_: *mut HAPI_CookOptions);
1379}
1380unsafe extern "C" {
1381    pub fn HAPI_CookOptions_Create() -> HAPI_CookOptions;
1382}
1383unsafe extern "C" {
1384    pub fn HAPI_CookOptions_AreEqual(
1385        left: *const HAPI_CookOptions,
1386        right: *const HAPI_CookOptions,
1387    ) -> HAPI_Bool;
1388}
1389unsafe extern "C" {
1390    pub fn HAPI_NodeInfo_Init(in_: *mut HAPI_NodeInfo);
1391}
1392unsafe extern "C" {
1393    pub fn HAPI_NodeInfo_Create() -> HAPI_NodeInfo;
1394}
1395unsafe extern "C" {
1396    pub fn HAPI_ParmInfo_Init(in_: *mut HAPI_ParmInfo);
1397}
1398unsafe extern "C" {
1399    pub fn HAPI_ParmInfo_Create() -> HAPI_ParmInfo;
1400}
1401unsafe extern "C" {
1402    pub fn HAPI_ParmInfo_IsInt(in_: *const HAPI_ParmInfo) -> HAPI_Bool;
1403}
1404unsafe extern "C" {
1405    pub fn HAPI_ParmInfo_IsFloat(in_: *const HAPI_ParmInfo) -> HAPI_Bool;
1406}
1407unsafe extern "C" {
1408    pub fn HAPI_ParmInfo_IsString(in_: *const HAPI_ParmInfo) -> HAPI_Bool;
1409}
1410unsafe extern "C" {
1411    pub fn HAPI_ParmInfo_IsPath(in_: *const HAPI_ParmInfo) -> HAPI_Bool;
1412}
1413unsafe extern "C" {
1414    pub fn HAPI_ParmInfo_IsNode(in_: *const HAPI_ParmInfo) -> HAPI_Bool;
1415}
1416unsafe extern "C" {
1417    pub fn HAPI_ParmInfo_IsNonValue(in_: *const HAPI_ParmInfo) -> HAPI_Bool;
1418}
1419unsafe extern "C" {
1420    pub fn HAPI_ParmInfo_GetIntValueCount(in_: *const HAPI_ParmInfo) -> ::std::os::raw::c_int;
1421}
1422unsafe extern "C" {
1423    pub fn HAPI_ParmInfo_GetFloatValueCount(in_: *const HAPI_ParmInfo) -> ::std::os::raw::c_int;
1424}
1425unsafe extern "C" {
1426    pub fn HAPI_ParmInfo_GetStringValueCount(in_: *const HAPI_ParmInfo) -> ::std::os::raw::c_int;
1427}
1428unsafe extern "C" {
1429    pub fn HAPI_ParmChoiceInfo_Init(in_: *mut HAPI_ParmChoiceInfo);
1430}
1431unsafe extern "C" {
1432    pub fn HAPI_ParmChoiceInfo_Create() -> HAPI_ParmChoiceInfo;
1433}
1434unsafe extern "C" {
1435    pub fn HAPI_HandleInfo_Init(in_: *mut HAPI_HandleInfo);
1436}
1437unsafe extern "C" {
1438    pub fn HAPI_HandleInfo_Create() -> HAPI_HandleInfo;
1439}
1440unsafe extern "C" {
1441    pub fn HAPI_HandleBindingInfo_Init(in_: *mut HAPI_HandleBindingInfo);
1442}
1443unsafe extern "C" {
1444    pub fn HAPI_HandleBindingInfo_Create() -> HAPI_HandleBindingInfo;
1445}
1446unsafe extern "C" {
1447    pub fn HAPI_ObjectInfo_Init(in_: *mut HAPI_ObjectInfo);
1448}
1449unsafe extern "C" {
1450    pub fn HAPI_ObjectInfo_Create() -> HAPI_ObjectInfo;
1451}
1452unsafe extern "C" {
1453    pub fn HAPI_GeoInfo_Init(in_: *mut HAPI_GeoInfo);
1454}
1455unsafe extern "C" {
1456    pub fn HAPI_GeoInfo_Create() -> HAPI_GeoInfo;
1457}
1458unsafe extern "C" {
1459    pub fn HAPI_GeoInfo_GetGroupCountByType(
1460        in_: *mut HAPI_GeoInfo,
1461        type_: GroupType,
1462    ) -> ::std::os::raw::c_int;
1463}
1464unsafe extern "C" {
1465    pub fn HAPI_PartInfo_Init(in_: *mut HAPI_PartInfo);
1466}
1467unsafe extern "C" {
1468    pub fn HAPI_PartInfo_Create() -> HAPI_PartInfo;
1469}
1470unsafe extern "C" {
1471    pub fn HAPI_PartInfo_GetElementCountByAttributeOwner(
1472        in_: *mut HAPI_PartInfo,
1473        owner: AttributeOwner,
1474    ) -> ::std::os::raw::c_int;
1475}
1476unsafe extern "C" {
1477    pub fn HAPI_PartInfo_GetElementCountByGroupType(
1478        in_: *mut HAPI_PartInfo,
1479        type_: GroupType,
1480    ) -> ::std::os::raw::c_int;
1481}
1482unsafe extern "C" {
1483    pub fn HAPI_PartInfo_GetAttributeCountByOwner(
1484        in_: *mut HAPI_PartInfo,
1485        owner: AttributeOwner,
1486    ) -> ::std::os::raw::c_int;
1487}
1488unsafe extern "C" {
1489    pub fn HAPI_AttributeInfo_Init(in_: *mut HAPI_AttributeInfo);
1490}
1491unsafe extern "C" {
1492    pub fn HAPI_AttributeInfo_Create() -> HAPI_AttributeInfo;
1493}
1494unsafe extern "C" {
1495    pub fn HAPI_MaterialInfo_Init(in_: *mut HAPI_MaterialInfo);
1496}
1497unsafe extern "C" {
1498    pub fn HAPI_MaterialInfo_Create() -> HAPI_MaterialInfo;
1499}
1500unsafe extern "C" {
1501    pub fn HAPI_ImageFileFormat_Init(in_: *mut HAPI_ImageFileFormat);
1502}
1503unsafe extern "C" {
1504    pub fn HAPI_ImageFileFormat_Create() -> HAPI_ImageFileFormat;
1505}
1506unsafe extern "C" {
1507    pub fn HAPI_ImageInfo_Init(in_: *mut HAPI_ImageInfo);
1508}
1509unsafe extern "C" {
1510    pub fn HAPI_ImageInfo_Create() -> HAPI_ImageInfo;
1511}
1512unsafe extern "C" {
1513    pub fn HAPI_Keyframe_Init(in_: *mut HAPI_Keyframe);
1514}
1515unsafe extern "C" {
1516    pub fn HAPI_Keyframe_Create() -> HAPI_Keyframe;
1517}
1518unsafe extern "C" {
1519    pub fn HAPI_VolumeInfo_Init(in_: *mut HAPI_VolumeInfo);
1520}
1521unsafe extern "C" {
1522    pub fn HAPI_VolumeInfo_Create() -> HAPI_VolumeInfo;
1523}
1524unsafe extern "C" {
1525    pub fn HAPI_VolumeTileInfo_Init(in_: *mut HAPI_VolumeTileInfo);
1526}
1527unsafe extern "C" {
1528    pub fn HAPI_VolumeTileInfo_Create() -> HAPI_VolumeTileInfo;
1529}
1530unsafe extern "C" {
1531    pub fn HAPI_CurveInfo_Init(in_: *mut HAPI_CurveInfo);
1532}
1533unsafe extern "C" {
1534    pub fn HAPI_CurveInfo_Create() -> HAPI_CurveInfo;
1535}
1536unsafe extern "C" {
1537    pub fn HAPI_InputCurveInfo_Init(in_: *mut HAPI_InputCurveInfo);
1538}
1539unsafe extern "C" {
1540    pub fn HAPI_InputCurveInfo_Create() -> HAPI_InputCurveInfo;
1541}
1542unsafe extern "C" {
1543    pub fn HAPI_Transform_Init(in_: *mut HAPI_Transform);
1544}
1545unsafe extern "C" {
1546    pub fn HAPI_Transform_Create() -> HAPI_Transform;
1547}
1548unsafe extern "C" {
1549    pub fn HAPI_TransformEuler_Init(in_: *mut HAPI_TransformEuler);
1550}
1551unsafe extern "C" {
1552    pub fn HAPI_TransformEuler_Create() -> HAPI_TransformEuler;
1553}
1554unsafe extern "C" {
1555    pub fn HAPI_Viewport_Init(in_: *mut HAPI_Viewport);
1556}
1557unsafe extern "C" {
1558    pub fn HAPI_Viewport_Create() -> HAPI_Viewport;
1559}
1560unsafe extern "C" {
1561    pub fn HAPI_SessionSyncInfo_Init(in_: *mut HAPI_SessionSyncInfo);
1562}
1563unsafe extern "C" {
1564    pub fn HAPI_SessionSyncInfo_Create() -> HAPI_SessionSyncInfo;
1565}
1566unsafe extern "C" {
1567    pub fn HAPI_CreateInProcessSession(
1568        session: *mut HAPI_Session,
1569        session_info: *const HAPI_SessionInfo,
1570    ) -> HapiResult;
1571}
1572unsafe extern "C" {
1573    pub fn HAPI_StartThriftSocketServer(
1574        options: *const HAPI_ThriftServerOptions,
1575        port: ::std::os::raw::c_int,
1576        process_id: *mut HAPI_ProcessId,
1577        log_file: *const ::std::os::raw::c_char,
1578    ) -> HapiResult;
1579}
1580unsafe extern "C" {
1581    pub fn HAPI_CreateThriftSocketSession(
1582        session: *mut HAPI_Session,
1583        host_name: *const ::std::os::raw::c_char,
1584        port: ::std::os::raw::c_int,
1585        session_info: *const HAPI_SessionInfo,
1586    ) -> HapiResult;
1587}
1588unsafe extern "C" {
1589    pub fn HAPI_StartThriftNamedPipeServer(
1590        options: *const HAPI_ThriftServerOptions,
1591        pipe_name: *const ::std::os::raw::c_char,
1592        process_id: *mut HAPI_ProcessId,
1593        log_file: *const ::std::os::raw::c_char,
1594    ) -> HapiResult;
1595}
1596unsafe extern "C" {
1597    pub fn HAPI_CreateThriftNamedPipeSession(
1598        session: *mut HAPI_Session,
1599        pipe_name: *const ::std::os::raw::c_char,
1600        session_info: *const HAPI_SessionInfo,
1601    ) -> HapiResult;
1602}
1603unsafe extern "C" {
1604    pub fn HAPI_StartThriftSharedMemoryServer(
1605        options: *const HAPI_ThriftServerOptions,
1606        shared_mem_name: *const ::std::os::raw::c_char,
1607        process_id: *mut HAPI_ProcessId,
1608        log_file: *const ::std::os::raw::c_char,
1609    ) -> HapiResult;
1610}
1611unsafe extern "C" {
1612    pub fn HAPI_CreateThriftSharedMemorySession(
1613        session: *mut HAPI_Session,
1614        shared_mem_name: *const ::std::os::raw::c_char,
1615        session_info: *const HAPI_SessionInfo,
1616    ) -> HapiResult;
1617}
1618unsafe extern "C" {
1619    pub fn HAPI_BindCustomImplementation(
1620        session_type: SessionType,
1621        dll_path: *const ::std::os::raw::c_char,
1622    ) -> HapiResult;
1623}
1624unsafe extern "C" {
1625    pub fn HAPI_CreateCustomSession(
1626        session_type: SessionType,
1627        session_info: *mut ::std::os::raw::c_void,
1628        session: *mut HAPI_Session,
1629    ) -> HapiResult;
1630}
1631unsafe extern "C" {
1632    pub fn HAPI_IsSessionValid(session: *const HAPI_Session) -> HapiResult;
1633}
1634unsafe extern "C" {
1635    pub fn HAPI_CloseSession(session: *const HAPI_Session) -> HapiResult;
1636}
1637unsafe extern "C" {
1638    pub fn HAPI_IsInitialized(session: *const HAPI_Session) -> HapiResult;
1639}
1640unsafe extern "C" {
1641    pub fn HAPI_Initialize(
1642        session: *const HAPI_Session,
1643        cook_options: *const HAPI_CookOptions,
1644        use_cooking_thread: HAPI_Bool,
1645        cooking_thread_stack_size: ::std::os::raw::c_int,
1646        houdini_environment_files: *const ::std::os::raw::c_char,
1647        otl_search_path: *const ::std::os::raw::c_char,
1648        dso_search_path: *const ::std::os::raw::c_char,
1649        image_dso_search_path: *const ::std::os::raw::c_char,
1650        audio_dso_search_path: *const ::std::os::raw::c_char,
1651    ) -> HapiResult;
1652}
1653unsafe extern "C" {
1654    pub fn HAPI_Cleanup(session: *const HAPI_Session) -> HapiResult;
1655}
1656unsafe extern "C" {
1657    pub fn HAPI_Shutdown(session: *const HAPI_Session) -> HapiResult;
1658}
1659unsafe extern "C" {
1660    pub fn HAPI_StartPerformanceMonitorProfile(
1661        session: *const HAPI_Session,
1662        title: *const ::std::os::raw::c_char,
1663        profile_id: *mut ::std::os::raw::c_int,
1664    ) -> HapiResult;
1665}
1666unsafe extern "C" {
1667    pub fn HAPI_StopPerformanceMonitorProfile(
1668        session: *const HAPI_Session,
1669        profile_id: ::std::os::raw::c_int,
1670        file_path: *const ::std::os::raw::c_char,
1671    ) -> HapiResult;
1672}
1673unsafe extern "C" {
1674    pub fn HAPI_GetEnvInt(int_type: EnvIntType, value: *mut ::std::os::raw::c_int) -> HapiResult;
1675}
1676unsafe extern "C" {
1677    pub fn HAPI_GetSessionEnvInt(
1678        session: *const HAPI_Session,
1679        int_type: SessionEnvIntType,
1680        value: *mut ::std::os::raw::c_int,
1681    ) -> HapiResult;
1682}
1683unsafe extern "C" {
1684    pub fn HAPI_GetServerEnvInt(
1685        session: *const HAPI_Session,
1686        variable_name: *const ::std::os::raw::c_char,
1687        value: *mut ::std::os::raw::c_int,
1688    ) -> HapiResult;
1689}
1690unsafe extern "C" {
1691    pub fn HAPI_GetServerEnvString(
1692        session: *const HAPI_Session,
1693        variable_name: *const ::std::os::raw::c_char,
1694        value: *mut HAPI_StringHandle,
1695    ) -> HapiResult;
1696}
1697unsafe extern "C" {
1698    pub fn HAPI_GetServerEnvVarCount(
1699        session: *const HAPI_Session,
1700        env_count: *mut ::std::os::raw::c_int,
1701    ) -> HapiResult;
1702}
1703unsafe extern "C" {
1704    pub fn HAPI_GetServerEnvVarList(
1705        session: *const HAPI_Session,
1706        values_array: *mut HAPI_StringHandle,
1707        start: ::std::os::raw::c_int,
1708        length: ::std::os::raw::c_int,
1709    ) -> HapiResult;
1710}
1711unsafe extern "C" {
1712    pub fn HAPI_SetServerEnvInt(
1713        session: *const HAPI_Session,
1714        variable_name: *const ::std::os::raw::c_char,
1715        value: ::std::os::raw::c_int,
1716    ) -> HapiResult;
1717}
1718unsafe extern "C" {
1719    pub fn HAPI_SetServerEnvString(
1720        session: *const HAPI_Session,
1721        variable_name: *const ::std::os::raw::c_char,
1722        value: *const ::std::os::raw::c_char,
1723    ) -> HapiResult;
1724}
1725unsafe extern "C" {
1726    pub fn HAPI_GetStatus(
1727        session: *const HAPI_Session,
1728        status_type: StatusType,
1729        status: *mut ::std::os::raw::c_int,
1730    ) -> HapiResult;
1731}
1732unsafe extern "C" {
1733    pub fn HAPI_GetStatusStringBufLength(
1734        session: *const HAPI_Session,
1735        status_type: StatusType,
1736        verbosity: StatusVerbosity,
1737        buffer_length: *mut ::std::os::raw::c_int,
1738    ) -> HapiResult;
1739}
1740unsafe extern "C" {
1741    pub fn HAPI_GetStatusString(
1742        session: *const HAPI_Session,
1743        status_type: StatusType,
1744        string_value: *mut ::std::os::raw::c_char,
1745        length: ::std::os::raw::c_int,
1746    ) -> HapiResult;
1747}
1748unsafe extern "C" {
1749    pub fn HAPI_ComposeNodeCookResult(
1750        session: *const HAPI_Session,
1751        node_id: HAPI_NodeId,
1752        verbosity: StatusVerbosity,
1753        buffer_length: *mut ::std::os::raw::c_int,
1754    ) -> HapiResult;
1755}
1756unsafe extern "C" {
1757    pub fn HAPI_GetComposedNodeCookResult(
1758        session: *const HAPI_Session,
1759        string_value: *mut ::std::os::raw::c_char,
1760        length: ::std::os::raw::c_int,
1761    ) -> HapiResult;
1762}
1763unsafe extern "C" {
1764    pub fn HAPI_GetNodeCookResultLength(
1765        session: *const HAPI_Session,
1766        node_id: HAPI_NodeId,
1767        verbosity: StatusVerbosity,
1768        buffer_length: *mut ::std::os::raw::c_int,
1769    ) -> HapiResult;
1770}
1771unsafe extern "C" {
1772    pub fn HAPI_GetNodeCookResult(
1773        session: *const HAPI_Session,
1774        string_value: *mut ::std::os::raw::c_char,
1775        length: ::std::os::raw::c_int,
1776    ) -> HapiResult;
1777}
1778unsafe extern "C" {
1779    pub fn HAPI_GetMessageNodeCount(
1780        session: *const HAPI_Session,
1781        node_id: HAPI_NodeId,
1782        count: *mut ::std::os::raw::c_int,
1783    ) -> HapiResult;
1784}
1785unsafe extern "C" {
1786    pub fn HAPI_GetMessageNodeIds(
1787        session: *const HAPI_Session,
1788        node_id: HAPI_NodeId,
1789        message_node_ids_array: *mut HAPI_NodeId,
1790        count: ::std::os::raw::c_int,
1791    ) -> HapiResult;
1792}
1793unsafe extern "C" {
1794    pub fn HAPI_CheckForSpecificErrors(
1795        session: *const HAPI_Session,
1796        node_id: HAPI_NodeId,
1797        errors_to_look_for: HAPI_ErrorCodeBits,
1798        errors_found: *mut HAPI_ErrorCodeBits,
1799    ) -> HapiResult;
1800}
1801unsafe extern "C" {
1802    pub fn HAPI_ClearConnectionError() -> HapiResult;
1803}
1804unsafe extern "C" {
1805    pub fn HAPI_GetConnectionErrorLength(buffer_length: *mut ::std::os::raw::c_int) -> HapiResult;
1806}
1807unsafe extern "C" {
1808    pub fn HAPI_GetConnectionError(
1809        string_value: *mut ::std::os::raw::c_char,
1810        length: ::std::os::raw::c_int,
1811        clear: HAPI_Bool,
1812    ) -> HapiResult;
1813}
1814unsafe extern "C" {
1815    pub fn HAPI_GetCookingTotalCount(
1816        session: *const HAPI_Session,
1817        count: *mut ::std::os::raw::c_int,
1818    ) -> HapiResult;
1819}
1820unsafe extern "C" {
1821    pub fn HAPI_GetCookingCurrentCount(
1822        session: *const HAPI_Session,
1823        count: *mut ::std::os::raw::c_int,
1824    ) -> HapiResult;
1825}
1826unsafe extern "C" {
1827    pub fn HAPI_Interrupt(session: *const HAPI_Session) -> HapiResult;
1828}
1829unsafe extern "C" {
1830    pub fn HAPI_ConvertTransform(
1831        session: *const HAPI_Session,
1832        transform_in: *const HAPI_TransformEuler,
1833        rst_order: RSTOrder,
1834        rot_order: XYZOrder,
1835        transform_out: *mut HAPI_TransformEuler,
1836    ) -> HapiResult;
1837}
1838unsafe extern "C" {
1839    pub fn HAPI_ConvertMatrixToQuat(
1840        session: *const HAPI_Session,
1841        matrix: *const f32,
1842        rst_order: RSTOrder,
1843        transform_out: *mut HAPI_Transform,
1844    ) -> HapiResult;
1845}
1846unsafe extern "C" {
1847    pub fn HAPI_ConvertMatrixToEuler(
1848        session: *const HAPI_Session,
1849        matrix: *const f32,
1850        rst_order: RSTOrder,
1851        rot_order: XYZOrder,
1852        transform_out: *mut HAPI_TransformEuler,
1853    ) -> HapiResult;
1854}
1855unsafe extern "C" {
1856    pub fn HAPI_ConvertTransformQuatToMatrix(
1857        session: *const HAPI_Session,
1858        transform: *const HAPI_Transform,
1859        matrix: *mut f32,
1860    ) -> HapiResult;
1861}
1862unsafe extern "C" {
1863    pub fn HAPI_ConvertTransformEulerToMatrix(
1864        session: *const HAPI_Session,
1865        transform: *const HAPI_TransformEuler,
1866        matrix: *mut f32,
1867    ) -> HapiResult;
1868}
1869unsafe extern "C" {
1870    pub fn HAPI_PythonThreadInterpreterLock(
1871        session: *const HAPI_Session,
1872        locked: HAPI_Bool,
1873    ) -> HapiResult;
1874}
1875unsafe extern "C" {
1876    pub fn HAPI_GetStringBufLength(
1877        session: *const HAPI_Session,
1878        string_handle: HAPI_StringHandle,
1879        buffer_length: *mut ::std::os::raw::c_int,
1880    ) -> HapiResult;
1881}
1882unsafe extern "C" {
1883    pub fn HAPI_GetString(
1884        session: *const HAPI_Session,
1885        string_handle: HAPI_StringHandle,
1886        string_value: *mut ::std::os::raw::c_char,
1887        length: ::std::os::raw::c_int,
1888    ) -> HapiResult;
1889}
1890unsafe extern "C" {
1891    pub fn HAPI_SetCustomString(
1892        session: *const HAPI_Session,
1893        string_value: *const ::std::os::raw::c_char,
1894        handle_value: *mut HAPI_StringHandle,
1895    ) -> HapiResult;
1896}
1897unsafe extern "C" {
1898    pub fn HAPI_RemoveCustomString(
1899        session: *const HAPI_Session,
1900        string_handle: HAPI_StringHandle,
1901    ) -> HapiResult;
1902}
1903unsafe extern "C" {
1904    pub fn HAPI_GetStringBatchSize(
1905        session: *const HAPI_Session,
1906        string_handle_array: *const ::std::os::raw::c_int,
1907        string_handle_count: ::std::os::raw::c_int,
1908        string_buffer_size: *mut ::std::os::raw::c_int,
1909    ) -> HapiResult;
1910}
1911unsafe extern "C" {
1912    pub fn HAPI_GetStringBatch(
1913        session: *const HAPI_Session,
1914        char_buffer: *mut ::std::os::raw::c_char,
1915        char_array_length: ::std::os::raw::c_int,
1916    ) -> HapiResult;
1917}
1918unsafe extern "C" {
1919    pub fn HAPI_GetTime(session: *const HAPI_Session, time: *mut f64) -> HapiResult;
1920}
1921unsafe extern "C" {
1922    pub fn HAPI_SetTime(session: *const HAPI_Session, time: f64) -> HapiResult;
1923}
1924unsafe extern "C" {
1925    pub fn HAPI_GetUseHoudiniTime(
1926        session: *const HAPI_Session,
1927        enabled: *mut HAPI_Bool,
1928    ) -> HapiResult;
1929}
1930unsafe extern "C" {
1931    pub fn HAPI_SetUseHoudiniTime(session: *const HAPI_Session, enabled: HAPI_Bool) -> HapiResult;
1932}
1933unsafe extern "C" {
1934    pub fn HAPI_GetTimelineOptions(
1935        session: *const HAPI_Session,
1936        timeline_options: *mut HAPI_TimelineOptions,
1937    ) -> HapiResult;
1938}
1939unsafe extern "C" {
1940    pub fn HAPI_SetTimelineOptions(
1941        session: *const HAPI_Session,
1942        timeline_options: *const HAPI_TimelineOptions,
1943    ) -> HapiResult;
1944}
1945unsafe extern "C" {
1946    pub fn HAPI_GetCompositorOptions(
1947        session: *const HAPI_Session,
1948        compositor_options: *mut HAPI_CompositorOptions,
1949    ) -> HapiResult;
1950}
1951unsafe extern "C" {
1952    pub fn HAPI_SetCompositorOptions(
1953        session: *const HAPI_Session,
1954        compositor_options: *const HAPI_CompositorOptions,
1955    ) -> HapiResult;
1956}
1957unsafe extern "C" {
1958    pub fn HAPI_LoadAssetLibraryFromFile(
1959        session: *const HAPI_Session,
1960        file_path: *const ::std::os::raw::c_char,
1961        allow_overwrite: HAPI_Bool,
1962        library_id: *mut HAPI_AssetLibraryId,
1963    ) -> HapiResult;
1964}
1965unsafe extern "C" {
1966    pub fn HAPI_LoadAssetLibraryFromMemory(
1967        session: *const HAPI_Session,
1968        library_buffer: *const ::std::os::raw::c_char,
1969        library_buffer_length: ::std::os::raw::c_int,
1970        allow_overwrite: HAPI_Bool,
1971        library_id: *mut HAPI_AssetLibraryId,
1972    ) -> HapiResult;
1973}
1974unsafe extern "C" {
1975    pub fn HAPI_GetAvailableAssetCount(
1976        session: *const HAPI_Session,
1977        library_id: HAPI_AssetLibraryId,
1978        asset_count: *mut ::std::os::raw::c_int,
1979    ) -> HapiResult;
1980}
1981unsafe extern "C" {
1982    pub fn HAPI_GetAvailableAssets(
1983        session: *const HAPI_Session,
1984        library_id: HAPI_AssetLibraryId,
1985        asset_names_array: *mut HAPI_StringHandle,
1986        asset_count: ::std::os::raw::c_int,
1987    ) -> HapiResult;
1988}
1989unsafe extern "C" {
1990    pub fn HAPI_GetAssetInfo(
1991        session: *const HAPI_Session,
1992        node_id: HAPI_NodeId,
1993        asset_info: *mut HAPI_AssetInfo,
1994    ) -> HapiResult;
1995}
1996unsafe extern "C" {
1997    pub fn HAPI_GetAssetDefinitionParmCounts(
1998        session: *const HAPI_Session,
1999        library_id: HAPI_AssetLibraryId,
2000        asset_name: *const ::std::os::raw::c_char,
2001        parm_count: *mut ::std::os::raw::c_int,
2002        int_value_count: *mut ::std::os::raw::c_int,
2003        float_value_count: *mut ::std::os::raw::c_int,
2004        string_value_count: *mut ::std::os::raw::c_int,
2005        choice_value_count: *mut ::std::os::raw::c_int,
2006    ) -> HapiResult;
2007}
2008unsafe extern "C" {
2009    pub fn HAPI_GetAssetDefinitionParmInfos(
2010        session: *const HAPI_Session,
2011        library_id: HAPI_AssetLibraryId,
2012        asset_name: *const ::std::os::raw::c_char,
2013        parm_infos_array: *mut HAPI_ParmInfo,
2014        start: ::std::os::raw::c_int,
2015        length: ::std::os::raw::c_int,
2016    ) -> HapiResult;
2017}
2018unsafe extern "C" {
2019    pub fn HAPI_GetAssetDefinitionParmValues(
2020        session: *const HAPI_Session,
2021        library_id: HAPI_AssetLibraryId,
2022        asset_name: *const ::std::os::raw::c_char,
2023        int_values_array: *mut ::std::os::raw::c_int,
2024        int_start: ::std::os::raw::c_int,
2025        int_length: ::std::os::raw::c_int,
2026        float_values_array: *mut f32,
2027        float_start: ::std::os::raw::c_int,
2028        float_length: ::std::os::raw::c_int,
2029        string_evaluate: HAPI_Bool,
2030        string_values_array: *mut HAPI_StringHandle,
2031        string_start: ::std::os::raw::c_int,
2032        string_length: ::std::os::raw::c_int,
2033        choice_values_array: *mut HAPI_ParmChoiceInfo,
2034        choice_start: ::std::os::raw::c_int,
2035        choice_length: ::std::os::raw::c_int,
2036    ) -> HapiResult;
2037}
2038unsafe extern "C" {
2039    pub fn HAPI_GetAssetDefinitionParmTagName(
2040        session: *const HAPI_Session,
2041        library_id: HAPI_AssetLibraryId,
2042        asset_name: *const ::std::os::raw::c_char,
2043        parm_id: HAPI_ParmId,
2044        tag_index: ::std::os::raw::c_int,
2045        tag_name: *mut HAPI_StringHandle,
2046    ) -> HapiResult;
2047}
2048unsafe extern "C" {
2049    pub fn HAPI_GetAssetDefinitionParmTagValue(
2050        session: *const HAPI_Session,
2051        library_id: HAPI_AssetLibraryId,
2052        asset_name: *const ::std::os::raw::c_char,
2053        parm_id: HAPI_ParmId,
2054        tag_name: *const ::std::os::raw::c_char,
2055        tag_value: *mut HAPI_StringHandle,
2056    ) -> HapiResult;
2057}
2058unsafe extern "C" {
2059    pub fn HAPI_GetLoadedAssetLibraryCount(
2060        session: *const HAPI_Session,
2061        count: *mut ::std::os::raw::c_int,
2062    ) -> HapiResult;
2063}
2064unsafe extern "C" {
2065    pub fn HAPI_GetAssetLibraryIds(
2066        session: *const HAPI_Session,
2067        asset_library_ids_array: *mut HAPI_AssetLibraryId,
2068        start: ::std::os::raw::c_int,
2069        length: ::std::os::raw::c_int,
2070    ) -> HapiResult;
2071}
2072unsafe extern "C" {
2073    pub fn HAPI_GetAssetLibraryFilePath(
2074        session: *const HAPI_Session,
2075        asset_library_id: HAPI_AssetLibraryId,
2076        file_path_sh: *mut HAPI_StringHandle,
2077    ) -> HapiResult;
2078}
2079unsafe extern "C" {
2080    pub fn HAPI_LoadHIPFile(
2081        session: *const HAPI_Session,
2082        file_name: *const ::std::os::raw::c_char,
2083        cook_on_load: HAPI_Bool,
2084    ) -> HapiResult;
2085}
2086unsafe extern "C" {
2087    pub fn HAPI_MergeHIPFile(
2088        session: *const HAPI_Session,
2089        file_name: *const ::std::os::raw::c_char,
2090        cook_on_load: HAPI_Bool,
2091        file_id: *mut HAPI_HIPFileId,
2092    ) -> HapiResult;
2093}
2094unsafe extern "C" {
2095    pub fn HAPI_SaveHIPFile(
2096        session: *const HAPI_Session,
2097        file_path: *const ::std::os::raw::c_char,
2098        lock_nodes: HAPI_Bool,
2099    ) -> HapiResult;
2100}
2101unsafe extern "C" {
2102    pub fn HAPI_GetHIPFileNodeCount(
2103        session: *const HAPI_Session,
2104        id: HAPI_HIPFileId,
2105        count: *mut ::std::os::raw::c_int,
2106    ) -> HapiResult;
2107}
2108unsafe extern "C" {
2109    pub fn HAPI_GetHIPFileNodeIds(
2110        session: *const HAPI_Session,
2111        id: HAPI_HIPFileId,
2112        node_ids: *mut HAPI_NodeId,
2113        length: ::std::os::raw::c_int,
2114    ) -> HapiResult;
2115}
2116unsafe extern "C" {
2117    pub fn HAPI_IsNodeValid(
2118        session: *const HAPI_Session,
2119        node_id: HAPI_NodeId,
2120        unique_node_id: ::std::os::raw::c_int,
2121        answer: *mut HAPI_Bool,
2122    ) -> HapiResult;
2123}
2124unsafe extern "C" {
2125    pub fn HAPI_GetNodeInfo(
2126        session: *const HAPI_Session,
2127        node_id: HAPI_NodeId,
2128        node_info: *mut HAPI_NodeInfo,
2129    ) -> HapiResult;
2130}
2131unsafe extern "C" {
2132    pub fn HAPI_GetNodePath(
2133        session: *const HAPI_Session,
2134        node_id: HAPI_NodeId,
2135        relative_to_node_id: HAPI_NodeId,
2136        path: *mut HAPI_StringHandle,
2137    ) -> HapiResult;
2138}
2139unsafe extern "C" {
2140    pub fn HAPI_GetManagerNodeId(
2141        session: *const HAPI_Session,
2142        node_type: NodeType,
2143        node_id: *mut HAPI_NodeId,
2144    ) -> HapiResult;
2145}
2146unsafe extern "C" {
2147    pub fn HAPI_ComposeChildNodeList(
2148        session: *const HAPI_Session,
2149        parent_node_id: HAPI_NodeId,
2150        node_type_filter: HAPI_NodeTypeBits,
2151        node_flags_filter: HAPI_NodeFlagsBits,
2152        recursive: HAPI_Bool,
2153        count: *mut ::std::os::raw::c_int,
2154    ) -> HapiResult;
2155}
2156unsafe extern "C" {
2157    pub fn HAPI_GetComposedChildNodeList(
2158        session: *const HAPI_Session,
2159        parent_node_id: HAPI_NodeId,
2160        child_node_ids_array: *mut HAPI_NodeId,
2161        count: ::std::os::raw::c_int,
2162    ) -> HapiResult;
2163}
2164unsafe extern "C" {
2165    pub fn HAPI_CreateNode(
2166        session: *const HAPI_Session,
2167        parent_node_id: HAPI_NodeId,
2168        operator_name: *const ::std::os::raw::c_char,
2169        node_label: *const ::std::os::raw::c_char,
2170        cook_on_creation: HAPI_Bool,
2171        new_node_id: *mut HAPI_NodeId,
2172    ) -> HapiResult;
2173}
2174unsafe extern "C" {
2175    pub fn HAPI_CreateInputNode(
2176        session: *const HAPI_Session,
2177        parent_node_id: HAPI_NodeId,
2178        node_id: *mut HAPI_NodeId,
2179        name: *const ::std::os::raw::c_char,
2180    ) -> HapiResult;
2181}
2182unsafe extern "C" {
2183    pub fn HAPI_CreateInputCurveNode(
2184        session: *const HAPI_Session,
2185        parent_node_id: HAPI_NodeId,
2186        node_id: *mut HAPI_NodeId,
2187        name: *const ::std::os::raw::c_char,
2188    ) -> HapiResult;
2189}
2190unsafe extern "C" {
2191    pub fn HAPI_CreateHeightFieldInput(
2192        session: *const HAPI_Session,
2193        parent_node_id: HAPI_NodeId,
2194        name: *const ::std::os::raw::c_char,
2195        xsize: ::std::os::raw::c_int,
2196        ysize: ::std::os::raw::c_int,
2197        voxelsize: f32,
2198        sampling: HeightFieldSampling,
2199        heightfield_node_id: *mut HAPI_NodeId,
2200        height_node_id: *mut HAPI_NodeId,
2201        mask_node_id: *mut HAPI_NodeId,
2202        merge_node_id: *mut HAPI_NodeId,
2203    ) -> HapiResult;
2204}
2205unsafe extern "C" {
2206    pub fn HAPI_CreateHeightfieldInputVolumeNode(
2207        session: *const HAPI_Session,
2208        parent_node_id: HAPI_NodeId,
2209        new_node_id: *mut HAPI_NodeId,
2210        name: *const ::std::os::raw::c_char,
2211        xsize: ::std::os::raw::c_int,
2212        ysize: ::std::os::raw::c_int,
2213        voxelsize: f32,
2214    ) -> HapiResult;
2215}
2216unsafe extern "C" {
2217    pub fn HAPI_CookNode(
2218        session: *const HAPI_Session,
2219        node_id: HAPI_NodeId,
2220        cook_options: *const HAPI_CookOptions,
2221    ) -> HapiResult;
2222}
2223unsafe extern "C" {
2224    pub fn HAPI_DeleteNode(session: *const HAPI_Session, node_id: HAPI_NodeId) -> HapiResult;
2225}
2226unsafe extern "C" {
2227    pub fn HAPI_RenameNode(
2228        session: *const HAPI_Session,
2229        node_id: HAPI_NodeId,
2230        new_name: *const ::std::os::raw::c_char,
2231    ) -> HapiResult;
2232}
2233unsafe extern "C" {
2234    pub fn HAPI_ConnectNodeInput(
2235        session: *const HAPI_Session,
2236        node_id: HAPI_NodeId,
2237        input_index: ::std::os::raw::c_int,
2238        node_id_to_connect: HAPI_NodeId,
2239        output_index: ::std::os::raw::c_int,
2240    ) -> HapiResult;
2241}
2242unsafe extern "C" {
2243    pub fn HAPI_DisconnectNodeInput(
2244        session: *const HAPI_Session,
2245        node_id: HAPI_NodeId,
2246        input_index: ::std::os::raw::c_int,
2247    ) -> HapiResult;
2248}
2249unsafe extern "C" {
2250    pub fn HAPI_QueryNodeInput(
2251        session: *const HAPI_Session,
2252        node_to_query: HAPI_NodeId,
2253        input_index: ::std::os::raw::c_int,
2254        connected_node_id: *mut HAPI_NodeId,
2255    ) -> HapiResult;
2256}
2257unsafe extern "C" {
2258    pub fn HAPI_GetNodeInputName(
2259        session: *const HAPI_Session,
2260        node_id: HAPI_NodeId,
2261        input_idx: ::std::os::raw::c_int,
2262        name: *mut HAPI_StringHandle,
2263    ) -> HapiResult;
2264}
2265unsafe extern "C" {
2266    pub fn HAPI_DisconnectNodeOutputsAt(
2267        session: *const HAPI_Session,
2268        node_id: HAPI_NodeId,
2269        output_index: ::std::os::raw::c_int,
2270    ) -> HapiResult;
2271}
2272unsafe extern "C" {
2273    pub fn HAPI_QueryNodeOutputConnectedCount(
2274        session: *const HAPI_Session,
2275        node_id: HAPI_NodeId,
2276        output_idx: ::std::os::raw::c_int,
2277        into_subnets: HAPI_Bool,
2278        through_dots: HAPI_Bool,
2279        connected_count: *mut ::std::os::raw::c_int,
2280    ) -> HapiResult;
2281}
2282unsafe extern "C" {
2283    pub fn HAPI_QueryNodeOutputConnectedNodes(
2284        session: *const HAPI_Session,
2285        node_id: HAPI_NodeId,
2286        output_idx: ::std::os::raw::c_int,
2287        into_subnets: HAPI_Bool,
2288        through_dots: HAPI_Bool,
2289        connected_node_ids_array: *mut HAPI_NodeId,
2290        start: ::std::os::raw::c_int,
2291        length: ::std::os::raw::c_int,
2292    ) -> HapiResult;
2293}
2294unsafe extern "C" {
2295    pub fn HAPI_GetNodeOutputName(
2296        session: *const HAPI_Session,
2297        node_id: HAPI_NodeId,
2298        output_idx: ::std::os::raw::c_int,
2299        name: *mut HAPI_StringHandle,
2300    ) -> HapiResult;
2301}
2302unsafe extern "C" {
2303    pub fn HAPI_GetNodeFromPath(
2304        session: *const HAPI_Session,
2305        parent_node_id: HAPI_NodeId,
2306        path: *const ::std::os::raw::c_char,
2307        node_id: *mut HAPI_NodeId,
2308    ) -> HapiResult;
2309}
2310unsafe extern "C" {
2311    pub fn HAPI_GetOutputNodeId(
2312        session: *const HAPI_Session,
2313        node_id: HAPI_NodeId,
2314        output: ::std::os::raw::c_int,
2315        output_node_id: *mut HAPI_NodeId,
2316    ) -> HapiResult;
2317}
2318unsafe extern "C" {
2319    pub fn HAPI_GetParameters(
2320        session: *const HAPI_Session,
2321        node_id: HAPI_NodeId,
2322        parm_infos_array: *mut HAPI_ParmInfo,
2323        start: ::std::os::raw::c_int,
2324        length: ::std::os::raw::c_int,
2325    ) -> HapiResult;
2326}
2327unsafe extern "C" {
2328    pub fn HAPI_GetParmInfo(
2329        session: *const HAPI_Session,
2330        node_id: HAPI_NodeId,
2331        parm_id: HAPI_ParmId,
2332        parm_info: *mut HAPI_ParmInfo,
2333    ) -> HapiResult;
2334}
2335unsafe extern "C" {
2336    pub fn HAPI_GetParmIdFromName(
2337        session: *const HAPI_Session,
2338        node_id: HAPI_NodeId,
2339        parm_name: *const ::std::os::raw::c_char,
2340        parm_id: *mut HAPI_ParmId,
2341    ) -> HapiResult;
2342}
2343unsafe extern "C" {
2344    pub fn HAPI_GetParmInfoFromName(
2345        session: *const HAPI_Session,
2346        node_id: HAPI_NodeId,
2347        parm_name: *const ::std::os::raw::c_char,
2348        parm_info: *mut HAPI_ParmInfo,
2349    ) -> HapiResult;
2350}
2351unsafe extern "C" {
2352    pub fn HAPI_GetParmTagName(
2353        session: *const HAPI_Session,
2354        node_id: HAPI_NodeId,
2355        parm_id: HAPI_ParmId,
2356        tag_index: ::std::os::raw::c_int,
2357        tag_name: *mut HAPI_StringHandle,
2358    ) -> HapiResult;
2359}
2360unsafe extern "C" {
2361    pub fn HAPI_GetParmTagValue(
2362        session: *const HAPI_Session,
2363        node_id: HAPI_NodeId,
2364        parm_id: HAPI_ParmId,
2365        tag_name: *const ::std::os::raw::c_char,
2366        tag_value: *mut HAPI_StringHandle,
2367    ) -> HapiResult;
2368}
2369unsafe extern "C" {
2370    pub fn HAPI_ParmHasTag(
2371        session: *const HAPI_Session,
2372        node_id: HAPI_NodeId,
2373        parm_id: HAPI_ParmId,
2374        tag_name: *const ::std::os::raw::c_char,
2375        has_tag: *mut HAPI_Bool,
2376    ) -> HapiResult;
2377}
2378unsafe extern "C" {
2379    pub fn HAPI_ParmHasExpression(
2380        session: *const HAPI_Session,
2381        node_id: HAPI_NodeId,
2382        parm_name: *const ::std::os::raw::c_char,
2383        index: ::std::os::raw::c_int,
2384        has_expression: *mut HAPI_Bool,
2385    ) -> HapiResult;
2386}
2387unsafe extern "C" {
2388    pub fn HAPI_GetParmWithTag(
2389        session: *const HAPI_Session,
2390        node_id: HAPI_NodeId,
2391        tag_name: *const ::std::os::raw::c_char,
2392        parm_id: *mut HAPI_ParmId,
2393    ) -> HapiResult;
2394}
2395unsafe extern "C" {
2396    pub fn HAPI_GetParmExpression(
2397        session: *const HAPI_Session,
2398        node_id: HAPI_NodeId,
2399        parm_name: *const ::std::os::raw::c_char,
2400        index: ::std::os::raw::c_int,
2401        value: *mut HAPI_StringHandle,
2402    ) -> HapiResult;
2403}
2404unsafe extern "C" {
2405    pub fn HAPI_RevertParmToDefault(
2406        session: *const HAPI_Session,
2407        node_id: HAPI_NodeId,
2408        parm_name: *const ::std::os::raw::c_char,
2409        index: ::std::os::raw::c_int,
2410    ) -> HapiResult;
2411}
2412unsafe extern "C" {
2413    pub fn HAPI_RevertParmToDefaults(
2414        session: *const HAPI_Session,
2415        node_id: HAPI_NodeId,
2416        parm_name: *const ::std::os::raw::c_char,
2417    ) -> HapiResult;
2418}
2419unsafe extern "C" {
2420    pub fn HAPI_SetParmExpression(
2421        session: *const HAPI_Session,
2422        node_id: HAPI_NodeId,
2423        value: *const ::std::os::raw::c_char,
2424        parm_id: HAPI_ParmId,
2425        index: ::std::os::raw::c_int,
2426    ) -> HapiResult;
2427}
2428unsafe extern "C" {
2429    pub fn HAPI_RemoveParmExpression(
2430        session: *const HAPI_Session,
2431        node_id: HAPI_NodeId,
2432        parm_id: HAPI_ParmId,
2433        index: ::std::os::raw::c_int,
2434    ) -> HapiResult;
2435}
2436unsafe extern "C" {
2437    pub fn HAPI_GetParmIntValue(
2438        session: *const HAPI_Session,
2439        node_id: HAPI_NodeId,
2440        parm_name: *const ::std::os::raw::c_char,
2441        index: ::std::os::raw::c_int,
2442        value: *mut ::std::os::raw::c_int,
2443    ) -> HapiResult;
2444}
2445unsafe extern "C" {
2446    pub fn HAPI_GetParmIntValues(
2447        session: *const HAPI_Session,
2448        node_id: HAPI_NodeId,
2449        values_array: *mut ::std::os::raw::c_int,
2450        start: ::std::os::raw::c_int,
2451        length: ::std::os::raw::c_int,
2452    ) -> HapiResult;
2453}
2454unsafe extern "C" {
2455    pub fn HAPI_GetParmFloatValue(
2456        session: *const HAPI_Session,
2457        node_id: HAPI_NodeId,
2458        parm_name: *const ::std::os::raw::c_char,
2459        index: ::std::os::raw::c_int,
2460        value: *mut f32,
2461    ) -> HapiResult;
2462}
2463unsafe extern "C" {
2464    pub fn HAPI_GetParmFloatValues(
2465        session: *const HAPI_Session,
2466        node_id: HAPI_NodeId,
2467        values_array: *mut f32,
2468        start: ::std::os::raw::c_int,
2469        length: ::std::os::raw::c_int,
2470    ) -> HapiResult;
2471}
2472unsafe extern "C" {
2473    pub fn HAPI_GetParmStringValue(
2474        session: *const HAPI_Session,
2475        node_id: HAPI_NodeId,
2476        parm_name: *const ::std::os::raw::c_char,
2477        index: ::std::os::raw::c_int,
2478        evaluate: HAPI_Bool,
2479        value: *mut HAPI_StringHandle,
2480    ) -> HapiResult;
2481}
2482unsafe extern "C" {
2483    pub fn HAPI_GetParmStringValues(
2484        session: *const HAPI_Session,
2485        node_id: HAPI_NodeId,
2486        evaluate: HAPI_Bool,
2487        values_array: *mut HAPI_StringHandle,
2488        start: ::std::os::raw::c_int,
2489        length: ::std::os::raw::c_int,
2490    ) -> HapiResult;
2491}
2492unsafe extern "C" {
2493    pub fn HAPI_GetParmNodeValue(
2494        session: *const HAPI_Session,
2495        node_id: HAPI_NodeId,
2496        parm_name: *const ::std::os::raw::c_char,
2497        value: *mut HAPI_NodeId,
2498    ) -> HapiResult;
2499}
2500unsafe extern "C" {
2501    pub fn HAPI_GetParmFile(
2502        session: *const HAPI_Session,
2503        node_id: HAPI_NodeId,
2504        parm_name: *const ::std::os::raw::c_char,
2505        destination_directory: *const ::std::os::raw::c_char,
2506        destination_file_name: *const ::std::os::raw::c_char,
2507    ) -> HapiResult;
2508}
2509unsafe extern "C" {
2510    pub fn HAPI_GetParmChoiceLists(
2511        session: *const HAPI_Session,
2512        node_id: HAPI_NodeId,
2513        parm_choices_array: *mut HAPI_ParmChoiceInfo,
2514        start: ::std::os::raw::c_int,
2515        length: ::std::os::raw::c_int,
2516    ) -> HapiResult;
2517}
2518unsafe extern "C" {
2519    pub fn HAPI_SetParmIntValue(
2520        session: *const HAPI_Session,
2521        node_id: HAPI_NodeId,
2522        parm_name: *const ::std::os::raw::c_char,
2523        index: ::std::os::raw::c_int,
2524        value: ::std::os::raw::c_int,
2525    ) -> HapiResult;
2526}
2527unsafe extern "C" {
2528    pub fn HAPI_SetParmIntValues(
2529        session: *const HAPI_Session,
2530        node_id: HAPI_NodeId,
2531        values_array: *const ::std::os::raw::c_int,
2532        start: ::std::os::raw::c_int,
2533        length: ::std::os::raw::c_int,
2534    ) -> HapiResult;
2535}
2536unsafe extern "C" {
2537    pub fn HAPI_SetParmFloatValue(
2538        session: *const HAPI_Session,
2539        node_id: HAPI_NodeId,
2540        parm_name: *const ::std::os::raw::c_char,
2541        index: ::std::os::raw::c_int,
2542        value: f32,
2543    ) -> HapiResult;
2544}
2545unsafe extern "C" {
2546    pub fn HAPI_SetParmFloatValues(
2547        session: *const HAPI_Session,
2548        node_id: HAPI_NodeId,
2549        values_array: *const f32,
2550        start: ::std::os::raw::c_int,
2551        length: ::std::os::raw::c_int,
2552    ) -> HapiResult;
2553}
2554unsafe extern "C" {
2555    pub fn HAPI_SetParmStringValue(
2556        session: *const HAPI_Session,
2557        node_id: HAPI_NodeId,
2558        value: *const ::std::os::raw::c_char,
2559        parm_id: HAPI_ParmId,
2560        index: ::std::os::raw::c_int,
2561    ) -> HapiResult;
2562}
2563unsafe extern "C" {
2564    pub fn HAPI_SetParmNodeValue(
2565        session: *const HAPI_Session,
2566        node_id: HAPI_NodeId,
2567        parm_name: *const ::std::os::raw::c_char,
2568        value: HAPI_NodeId,
2569    ) -> HapiResult;
2570}
2571unsafe extern "C" {
2572    pub fn HAPI_InsertMultiparmInstance(
2573        session: *const HAPI_Session,
2574        node_id: HAPI_NodeId,
2575        parm_id: HAPI_ParmId,
2576        instance_position: ::std::os::raw::c_int,
2577    ) -> HapiResult;
2578}
2579unsafe extern "C" {
2580    pub fn HAPI_RemoveMultiparmInstance(
2581        session: *const HAPI_Session,
2582        node_id: HAPI_NodeId,
2583        parm_id: HAPI_ParmId,
2584        instance_position: ::std::os::raw::c_int,
2585    ) -> HapiResult;
2586}
2587unsafe extern "C" {
2588    pub fn HAPI_GetHandleInfo(
2589        session: *const HAPI_Session,
2590        node_id: HAPI_NodeId,
2591        handle_infos_array: *mut HAPI_HandleInfo,
2592        start: ::std::os::raw::c_int,
2593        length: ::std::os::raw::c_int,
2594    ) -> HapiResult;
2595}
2596unsafe extern "C" {
2597    pub fn HAPI_GetHandleBindingInfo(
2598        session: *const HAPI_Session,
2599        node_id: HAPI_NodeId,
2600        handle_index: ::std::os::raw::c_int,
2601        handle_binding_infos_array: *mut HAPI_HandleBindingInfo,
2602        start: ::std::os::raw::c_int,
2603        length: ::std::os::raw::c_int,
2604    ) -> HapiResult;
2605}
2606unsafe extern "C" {
2607    pub fn HAPI_GetPresetBufLength(
2608        session: *const HAPI_Session,
2609        node_id: HAPI_NodeId,
2610        preset_type: PresetType,
2611        preset_name: *const ::std::os::raw::c_char,
2612        buffer_length: *mut ::std::os::raw::c_int,
2613    ) -> HapiResult;
2614}
2615unsafe extern "C" {
2616    pub fn HAPI_GetPreset(
2617        session: *const HAPI_Session,
2618        node_id: HAPI_NodeId,
2619        buffer: *mut ::std::os::raw::c_char,
2620        buffer_length: ::std::os::raw::c_int,
2621    ) -> HapiResult;
2622}
2623unsafe extern "C" {
2624    pub fn HAPI_SetPreset(
2625        session: *const HAPI_Session,
2626        node_id: HAPI_NodeId,
2627        preset_type: PresetType,
2628        preset_name: *const ::std::os::raw::c_char,
2629        buffer: *const ::std::os::raw::c_char,
2630        buffer_length: ::std::os::raw::c_int,
2631    ) -> HapiResult;
2632}
2633unsafe extern "C" {
2634    pub fn HAPI_GetPresetCount(
2635        session: *const HAPI_Session,
2636        buffer: *const ::std::os::raw::c_char,
2637        buffer_length: ::std::os::raw::c_int,
2638        count: *mut ::std::os::raw::c_int,
2639    ) -> HapiResult;
2640}
2641unsafe extern "C" {
2642    pub fn HAPI_GetPresetNames(
2643        session: *const HAPI_Session,
2644        buffer: *const ::std::os::raw::c_char,
2645        buffer_length: ::std::os::raw::c_int,
2646        preset_names_array: *mut HAPI_StringHandle,
2647        preset_names_count: ::std::os::raw::c_int,
2648    ) -> HapiResult;
2649}
2650unsafe extern "C" {
2651    pub fn HAPI_GetObjectInfo(
2652        session: *const HAPI_Session,
2653        node_id: HAPI_NodeId,
2654        object_info: *mut HAPI_ObjectInfo,
2655    ) -> HapiResult;
2656}
2657unsafe extern "C" {
2658    pub fn HAPI_GetObjectTransform(
2659        session: *const HAPI_Session,
2660        node_id: HAPI_NodeId,
2661        relative_to_node_id: HAPI_NodeId,
2662        rst_order: RSTOrder,
2663        transform: *mut HAPI_Transform,
2664    ) -> HapiResult;
2665}
2666unsafe extern "C" {
2667    pub fn HAPI_ComposeObjectList(
2668        session: *const HAPI_Session,
2669        parent_node_id: HAPI_NodeId,
2670        categories: *const ::std::os::raw::c_char,
2671        object_count: *mut ::std::os::raw::c_int,
2672    ) -> HapiResult;
2673}
2674unsafe extern "C" {
2675    pub fn HAPI_GetComposedObjectList(
2676        session: *const HAPI_Session,
2677        parent_node_id: HAPI_NodeId,
2678        object_infos_array: *mut HAPI_ObjectInfo,
2679        start: ::std::os::raw::c_int,
2680        length: ::std::os::raw::c_int,
2681    ) -> HapiResult;
2682}
2683unsafe extern "C" {
2684    pub fn HAPI_GetComposedObjectTransforms(
2685        session: *const HAPI_Session,
2686        parent_node_id: HAPI_NodeId,
2687        rst_order: RSTOrder,
2688        transform_array: *mut HAPI_Transform,
2689        start: ::std::os::raw::c_int,
2690        length: ::std::os::raw::c_int,
2691    ) -> HapiResult;
2692}
2693unsafe extern "C" {
2694    pub fn HAPI_GetInstancedObjectIds(
2695        session: *const HAPI_Session,
2696        object_node_id: HAPI_NodeId,
2697        instanced_node_id_array: *mut HAPI_NodeId,
2698        start: ::std::os::raw::c_int,
2699        length: ::std::os::raw::c_int,
2700    ) -> HapiResult;
2701}
2702unsafe extern "C" {
2703    pub fn HAPI_GetInstanceTransformsOnPart(
2704        session: *const HAPI_Session,
2705        node_id: HAPI_NodeId,
2706        part_id: HAPI_PartId,
2707        rst_order: RSTOrder,
2708        transforms_array: *mut HAPI_Transform,
2709        start: ::std::os::raw::c_int,
2710        length: ::std::os::raw::c_int,
2711    ) -> HapiResult;
2712}
2713unsafe extern "C" {
2714    pub fn HAPI_SetObjectTransform(
2715        session: *const HAPI_Session,
2716        node_id: HAPI_NodeId,
2717        trans: *const HAPI_TransformEuler,
2718    ) -> HapiResult;
2719}
2720unsafe extern "C" {
2721    pub fn HAPI_GetDisplayGeoInfo(
2722        session: *const HAPI_Session,
2723        object_node_id: HAPI_NodeId,
2724        geo_info: *mut HAPI_GeoInfo,
2725    ) -> HapiResult;
2726}
2727unsafe extern "C" {
2728    pub fn HAPI_GetOutputGeoCount(
2729        session: *const HAPI_Session,
2730        node_id: HAPI_NodeId,
2731        count: *mut ::std::os::raw::c_int,
2732    ) -> HapiResult;
2733}
2734unsafe extern "C" {
2735    pub fn HAPI_GetOutputGeoInfos(
2736        session: *const HAPI_Session,
2737        node_id: HAPI_NodeId,
2738        geo_infos_array: *mut HAPI_GeoInfo,
2739        count: ::std::os::raw::c_int,
2740    ) -> HapiResult;
2741}
2742unsafe extern "C" {
2743    pub fn HAPI_GetGeoInfo(
2744        session: *const HAPI_Session,
2745        node_id: HAPI_NodeId,
2746        geo_info: *mut HAPI_GeoInfo,
2747    ) -> HapiResult;
2748}
2749unsafe extern "C" {
2750    pub fn HAPI_GetPartInfo(
2751        session: *const HAPI_Session,
2752        node_id: HAPI_NodeId,
2753        part_id: HAPI_PartId,
2754        part_info: *mut HAPI_PartInfo,
2755    ) -> HapiResult;
2756}
2757unsafe extern "C" {
2758    pub fn HAPI_GetEdgeCountOfEdgeGroup(
2759        session: *const HAPI_Session,
2760        node_id: HAPI_NodeId,
2761        part_id: HAPI_PartId,
2762        group_name: *const ::std::os::raw::c_char,
2763        edge_count: *mut ::std::os::raw::c_int,
2764    ) -> HapiResult;
2765}
2766unsafe extern "C" {
2767    pub fn HAPI_GetFaceCounts(
2768        session: *const HAPI_Session,
2769        node_id: HAPI_NodeId,
2770        part_id: HAPI_PartId,
2771        face_counts_array: *mut ::std::os::raw::c_int,
2772        start: ::std::os::raw::c_int,
2773        length: ::std::os::raw::c_int,
2774    ) -> HapiResult;
2775}
2776unsafe extern "C" {
2777    pub fn HAPI_GetVertexList(
2778        session: *const HAPI_Session,
2779        node_id: HAPI_NodeId,
2780        part_id: HAPI_PartId,
2781        vertex_list_array: *mut ::std::os::raw::c_int,
2782        start: ::std::os::raw::c_int,
2783        length: ::std::os::raw::c_int,
2784    ) -> HapiResult;
2785}
2786unsafe extern "C" {
2787    pub fn HAPI_GetAttributeInfo(
2788        session: *const HAPI_Session,
2789        node_id: HAPI_NodeId,
2790        part_id: HAPI_PartId,
2791        name: *const ::std::os::raw::c_char,
2792        owner: AttributeOwner,
2793        attr_info: *mut HAPI_AttributeInfo,
2794    ) -> HapiResult;
2795}
2796unsafe extern "C" {
2797    pub fn HAPI_GetAttributeNames(
2798        session: *const HAPI_Session,
2799        node_id: HAPI_NodeId,
2800        part_id: HAPI_PartId,
2801        owner: AttributeOwner,
2802        attribute_names_array: *mut HAPI_StringHandle,
2803        count: ::std::os::raw::c_int,
2804    ) -> HapiResult;
2805}
2806unsafe extern "C" {
2807    pub fn HAPI_GetAttributeIntData(
2808        session: *const HAPI_Session,
2809        node_id: HAPI_NodeId,
2810        part_id: HAPI_PartId,
2811        name: *const ::std::os::raw::c_char,
2812        attr_info: *mut HAPI_AttributeInfo,
2813        stride: ::std::os::raw::c_int,
2814        data_array: *mut ::std::os::raw::c_int,
2815        start: ::std::os::raw::c_int,
2816        length: ::std::os::raw::c_int,
2817    ) -> HapiResult;
2818}
2819unsafe extern "C" {
2820    pub fn HAPI_GetAttributeIntArrayData(
2821        session: *const HAPI_Session,
2822        node_id: HAPI_NodeId,
2823        part_id: HAPI_PartId,
2824        name: *const ::std::os::raw::c_char,
2825        attr_info: *mut HAPI_AttributeInfo,
2826        data_fixed_array: *mut ::std::os::raw::c_int,
2827        data_fixed_length: ::std::os::raw::c_int,
2828        sizes_fixed_array: *mut ::std::os::raw::c_int,
2829        start: ::std::os::raw::c_int,
2830        sizes_fixed_length: ::std::os::raw::c_int,
2831    ) -> HapiResult;
2832}
2833unsafe extern "C" {
2834    pub fn HAPI_GetAttributeUInt8Data(
2835        session: *const HAPI_Session,
2836        node_id: HAPI_NodeId,
2837        part_id: HAPI_PartId,
2838        name: *const ::std::os::raw::c_char,
2839        attr_info: *mut HAPI_AttributeInfo,
2840        stride: ::std::os::raw::c_int,
2841        data_array: *mut HAPI_UInt8,
2842        start: ::std::os::raw::c_int,
2843        length: ::std::os::raw::c_int,
2844    ) -> HapiResult;
2845}
2846unsafe extern "C" {
2847    pub fn HAPI_GetAttributeUInt8ArrayData(
2848        session: *const HAPI_Session,
2849        node_id: HAPI_NodeId,
2850        part_id: HAPI_PartId,
2851        name: *const ::std::os::raw::c_char,
2852        attr_info: *mut HAPI_AttributeInfo,
2853        data_fixed_array: *mut HAPI_UInt8,
2854        data_fixed_length: ::std::os::raw::c_int,
2855        sizes_fixed_array: *mut ::std::os::raw::c_int,
2856        start: ::std::os::raw::c_int,
2857        sizes_fixed_length: ::std::os::raw::c_int,
2858    ) -> HapiResult;
2859}
2860unsafe extern "C" {
2861    pub fn HAPI_GetAttributeInt8Data(
2862        session: *const HAPI_Session,
2863        node_id: HAPI_NodeId,
2864        part_id: HAPI_PartId,
2865        name: *const ::std::os::raw::c_char,
2866        attr_info: *mut HAPI_AttributeInfo,
2867        stride: ::std::os::raw::c_int,
2868        data_array: *mut HAPI_Int8,
2869        start: ::std::os::raw::c_int,
2870        length: ::std::os::raw::c_int,
2871    ) -> HapiResult;
2872}
2873unsafe extern "C" {
2874    pub fn HAPI_GetAttributeInt8ArrayData(
2875        session: *const HAPI_Session,
2876        node_id: HAPI_NodeId,
2877        part_id: HAPI_PartId,
2878        name: *const ::std::os::raw::c_char,
2879        attr_info: *mut HAPI_AttributeInfo,
2880        data_fixed_array: *mut HAPI_Int8,
2881        data_fixed_length: ::std::os::raw::c_int,
2882        sizes_fixed_array: *mut ::std::os::raw::c_int,
2883        start: ::std::os::raw::c_int,
2884        sizes_fixed_length: ::std::os::raw::c_int,
2885    ) -> HapiResult;
2886}
2887unsafe extern "C" {
2888    pub fn HAPI_GetAttributeInt16Data(
2889        session: *const HAPI_Session,
2890        node_id: HAPI_NodeId,
2891        part_id: HAPI_PartId,
2892        name: *const ::std::os::raw::c_char,
2893        attr_info: *mut HAPI_AttributeInfo,
2894        stride: ::std::os::raw::c_int,
2895        data_array: *mut HAPI_Int16,
2896        start: ::std::os::raw::c_int,
2897        length: ::std::os::raw::c_int,
2898    ) -> HapiResult;
2899}
2900unsafe extern "C" {
2901    pub fn HAPI_GetAttributeInt16ArrayData(
2902        session: *const HAPI_Session,
2903        node_id: HAPI_NodeId,
2904        part_id: HAPI_PartId,
2905        name: *const ::std::os::raw::c_char,
2906        attr_info: *mut HAPI_AttributeInfo,
2907        data_fixed_array: *mut HAPI_Int16,
2908        data_fixed_length: ::std::os::raw::c_int,
2909        sizes_fixed_array: *mut ::std::os::raw::c_int,
2910        start: ::std::os::raw::c_int,
2911        sizes_fixed_length: ::std::os::raw::c_int,
2912    ) -> HapiResult;
2913}
2914unsafe extern "C" {
2915    pub fn HAPI_GetAttributeInt64Data(
2916        session: *const HAPI_Session,
2917        node_id: HAPI_NodeId,
2918        part_id: HAPI_PartId,
2919        name: *const ::std::os::raw::c_char,
2920        attr_info: *mut HAPI_AttributeInfo,
2921        stride: ::std::os::raw::c_int,
2922        data_array: *mut HAPI_Int64,
2923        start: ::std::os::raw::c_int,
2924        length: ::std::os::raw::c_int,
2925    ) -> HapiResult;
2926}
2927unsafe extern "C" {
2928    pub fn HAPI_GetAttributeInt64ArrayData(
2929        session: *const HAPI_Session,
2930        node_id: HAPI_NodeId,
2931        part_id: HAPI_PartId,
2932        name: *const ::std::os::raw::c_char,
2933        attr_info: *mut HAPI_AttributeInfo,
2934        data_fixed_array: *mut HAPI_Int64,
2935        data_fixed_length: ::std::os::raw::c_int,
2936        sizes_fixed_array: *mut ::std::os::raw::c_int,
2937        start: ::std::os::raw::c_int,
2938        sizes_fixed_length: ::std::os::raw::c_int,
2939    ) -> HapiResult;
2940}
2941unsafe extern "C" {
2942    pub fn HAPI_GetAttributeFloatData(
2943        session: *const HAPI_Session,
2944        node_id: HAPI_NodeId,
2945        part_id: HAPI_PartId,
2946        name: *const ::std::os::raw::c_char,
2947        attr_info: *mut HAPI_AttributeInfo,
2948        stride: ::std::os::raw::c_int,
2949        data_array: *mut f32,
2950        start: ::std::os::raw::c_int,
2951        length: ::std::os::raw::c_int,
2952    ) -> HapiResult;
2953}
2954unsafe extern "C" {
2955    pub fn HAPI_GetAttributeFloatArrayData(
2956        session: *const HAPI_Session,
2957        node_id: HAPI_NodeId,
2958        part_id: HAPI_PartId,
2959        name: *const ::std::os::raw::c_char,
2960        attr_info: *mut HAPI_AttributeInfo,
2961        data_fixed_array: *mut f32,
2962        data_fixed_length: ::std::os::raw::c_int,
2963        sizes_fixed_array: *mut ::std::os::raw::c_int,
2964        start: ::std::os::raw::c_int,
2965        sizes_fixed_length: ::std::os::raw::c_int,
2966    ) -> HapiResult;
2967}
2968unsafe extern "C" {
2969    pub fn HAPI_GetAttributeFloat64Data(
2970        session: *const HAPI_Session,
2971        node_id: HAPI_NodeId,
2972        part_id: HAPI_PartId,
2973        name: *const ::std::os::raw::c_char,
2974        attr_info: *mut HAPI_AttributeInfo,
2975        stride: ::std::os::raw::c_int,
2976        data_array: *mut f64,
2977        start: ::std::os::raw::c_int,
2978        length: ::std::os::raw::c_int,
2979    ) -> HapiResult;
2980}
2981unsafe extern "C" {
2982    pub fn HAPI_GetAttributeFloat64ArrayData(
2983        session: *const HAPI_Session,
2984        node_id: HAPI_NodeId,
2985        part_id: HAPI_PartId,
2986        name: *const ::std::os::raw::c_char,
2987        attr_info: *mut HAPI_AttributeInfo,
2988        data_fixed_array: *mut f64,
2989        data_fixed_length: ::std::os::raw::c_int,
2990        sizes_fixed_array: *mut ::std::os::raw::c_int,
2991        start: ::std::os::raw::c_int,
2992        sizes_fixed_length: ::std::os::raw::c_int,
2993    ) -> HapiResult;
2994}
2995unsafe extern "C" {
2996    pub fn HAPI_GetAttributeStringData(
2997        session: *const HAPI_Session,
2998        node_id: HAPI_NodeId,
2999        part_id: HAPI_PartId,
3000        name: *const ::std::os::raw::c_char,
3001        attr_info: *mut HAPI_AttributeInfo,
3002        data_array: *mut HAPI_StringHandle,
3003        start: ::std::os::raw::c_int,
3004        length: ::std::os::raw::c_int,
3005    ) -> HapiResult;
3006}
3007unsafe extern "C" {
3008    pub fn HAPI_GetAttributeStringArrayData(
3009        session: *const HAPI_Session,
3010        node_id: HAPI_NodeId,
3011        part_id: HAPI_PartId,
3012        name: *const ::std::os::raw::c_char,
3013        attr_info: *mut HAPI_AttributeInfo,
3014        data_fixed_array: *mut HAPI_StringHandle,
3015        data_fixed_length: ::std::os::raw::c_int,
3016        sizes_fixed_array: *mut ::std::os::raw::c_int,
3017        start: ::std::os::raw::c_int,
3018        sizes_fixed_length: ::std::os::raw::c_int,
3019    ) -> HapiResult;
3020}
3021unsafe extern "C" {
3022    pub fn HAPI_GetAttributeDictionaryData(
3023        session: *const HAPI_Session,
3024        node_id: HAPI_NodeId,
3025        part_id: HAPI_PartId,
3026        name: *const ::std::os::raw::c_char,
3027        attr_info: *mut HAPI_AttributeInfo,
3028        data_array: *mut HAPI_StringHandle,
3029        start: ::std::os::raw::c_int,
3030        length: ::std::os::raw::c_int,
3031    ) -> HapiResult;
3032}
3033unsafe extern "C" {
3034    pub fn HAPI_GetAttributeDictionaryArrayData(
3035        session: *const HAPI_Session,
3036        node_id: HAPI_NodeId,
3037        part_id: HAPI_PartId,
3038        name: *const ::std::os::raw::c_char,
3039        attr_info: *mut HAPI_AttributeInfo,
3040        data_fixed_array: *mut HAPI_StringHandle,
3041        data_fixed_length: ::std::os::raw::c_int,
3042        sizes_fixed_array: *mut ::std::os::raw::c_int,
3043        start: ::std::os::raw::c_int,
3044        sizes_fixed_length: ::std::os::raw::c_int,
3045    ) -> HapiResult;
3046}
3047unsafe extern "C" {
3048    pub fn HAPI_GetAttributeIntDataAsync(
3049        session: *const HAPI_Session,
3050        node_id: HAPI_NodeId,
3051        part_id: HAPI_PartId,
3052        name: *const ::std::os::raw::c_char,
3053        attr_info: *mut HAPI_AttributeInfo,
3054        stride: ::std::os::raw::c_int,
3055        data_array: *mut ::std::os::raw::c_int,
3056        start: ::std::os::raw::c_int,
3057        length: ::std::os::raw::c_int,
3058        job_id: *mut ::std::os::raw::c_int,
3059    ) -> HapiResult;
3060}
3061unsafe extern "C" {
3062    pub fn HAPI_GetAttributeUInt8DataAsync(
3063        session: *const HAPI_Session,
3064        node_id: HAPI_NodeId,
3065        part_id: HAPI_PartId,
3066        name: *const ::std::os::raw::c_char,
3067        attr_info: *mut HAPI_AttributeInfo,
3068        stride: ::std::os::raw::c_int,
3069        data_array: *mut HAPI_UInt8,
3070        start: ::std::os::raw::c_int,
3071        length: ::std::os::raw::c_int,
3072        job_id: *mut ::std::os::raw::c_int,
3073    ) -> HapiResult;
3074}
3075unsafe extern "C" {
3076    pub fn HAPI_GetAttributeInt8DataAsync(
3077        session: *const HAPI_Session,
3078        node_id: HAPI_NodeId,
3079        part_id: HAPI_PartId,
3080        name: *const ::std::os::raw::c_char,
3081        attr_info: *mut HAPI_AttributeInfo,
3082        stride: ::std::os::raw::c_int,
3083        data_array: *mut HAPI_Int8,
3084        start: ::std::os::raw::c_int,
3085        length: ::std::os::raw::c_int,
3086        job_id: *mut ::std::os::raw::c_int,
3087    ) -> HapiResult;
3088}
3089unsafe extern "C" {
3090    pub fn HAPI_GetAttributeInt16DataAsync(
3091        session: *const HAPI_Session,
3092        node_id: HAPI_NodeId,
3093        part_id: HAPI_PartId,
3094        name: *const ::std::os::raw::c_char,
3095        attr_info: *mut HAPI_AttributeInfo,
3096        stride: ::std::os::raw::c_int,
3097        data_array: *mut HAPI_Int16,
3098        start: ::std::os::raw::c_int,
3099        length: ::std::os::raw::c_int,
3100        job_id: *mut ::std::os::raw::c_int,
3101    ) -> HapiResult;
3102}
3103unsafe extern "C" {
3104    pub fn HAPI_GetAttributeInt64DataAsync(
3105        session: *const HAPI_Session,
3106        node_id: HAPI_NodeId,
3107        part_id: HAPI_PartId,
3108        name: *const ::std::os::raw::c_char,
3109        attr_info: *mut HAPI_AttributeInfo,
3110        stride: ::std::os::raw::c_int,
3111        data_array: *mut HAPI_Int64,
3112        start: ::std::os::raw::c_int,
3113        length: ::std::os::raw::c_int,
3114        job_id: *mut ::std::os::raw::c_int,
3115    ) -> HapiResult;
3116}
3117unsafe extern "C" {
3118    pub fn HAPI_GetAttributeFloatDataAsync(
3119        session: *const HAPI_Session,
3120        node_id: HAPI_NodeId,
3121        part_id: HAPI_PartId,
3122        name: *const ::std::os::raw::c_char,
3123        attr_info: *mut HAPI_AttributeInfo,
3124        stride: ::std::os::raw::c_int,
3125        data_array: *mut f32,
3126        start: ::std::os::raw::c_int,
3127        length: ::std::os::raw::c_int,
3128        job_id: *mut ::std::os::raw::c_int,
3129    ) -> HapiResult;
3130}
3131unsafe extern "C" {
3132    pub fn HAPI_GetAttributeFloat64DataAsync(
3133        session: *const HAPI_Session,
3134        node_id: HAPI_NodeId,
3135        part_id: HAPI_PartId,
3136        name: *const ::std::os::raw::c_char,
3137        attr_info: *mut HAPI_AttributeInfo,
3138        stride: ::std::os::raw::c_int,
3139        data_array: *mut f64,
3140        start: ::std::os::raw::c_int,
3141        length: ::std::os::raw::c_int,
3142        job_id: *mut ::std::os::raw::c_int,
3143    ) -> HapiResult;
3144}
3145unsafe extern "C" {
3146    pub fn HAPI_GetAttributeStringDataAsync(
3147        session: *const HAPI_Session,
3148        node_id: HAPI_NodeId,
3149        part_id: HAPI_PartId,
3150        name: *const ::std::os::raw::c_char,
3151        attr_info: *mut HAPI_AttributeInfo,
3152        data_array: *mut HAPI_StringHandle,
3153        start: ::std::os::raw::c_int,
3154        length: ::std::os::raw::c_int,
3155        job_id: *mut ::std::os::raw::c_int,
3156    ) -> HapiResult;
3157}
3158unsafe extern "C" {
3159    pub fn HAPI_GetAttributeDictionaryDataAsync(
3160        session: *const HAPI_Session,
3161        node_id: HAPI_NodeId,
3162        part_id: HAPI_PartId,
3163        name: *const ::std::os::raw::c_char,
3164        attr_info: *mut HAPI_AttributeInfo,
3165        data_array: *mut HAPI_StringHandle,
3166        start: ::std::os::raw::c_int,
3167        length: ::std::os::raw::c_int,
3168        job_id: *mut ::std::os::raw::c_int,
3169    ) -> HapiResult;
3170}
3171unsafe extern "C" {
3172    pub fn HAPI_GetAttributeIntArrayDataAsync(
3173        session: *const HAPI_Session,
3174        node_id: HAPI_NodeId,
3175        part_id: HAPI_PartId,
3176        attr_name: *const ::std::os::raw::c_char,
3177        attr_info: *mut HAPI_AttributeInfo,
3178        data_fixed_array: *mut ::std::os::raw::c_int,
3179        data_fixed_length: ::std::os::raw::c_int,
3180        sizes_fixed_array: *mut ::std::os::raw::c_int,
3181        start: ::std::os::raw::c_int,
3182        sizes_fixed_length: ::std::os::raw::c_int,
3183        job_id: *mut ::std::os::raw::c_int,
3184    ) -> HapiResult;
3185}
3186unsafe extern "C" {
3187    pub fn HAPI_GetAttributeUInt8ArrayDataAsync(
3188        session: *const HAPI_Session,
3189        node_id: HAPI_NodeId,
3190        part_id: HAPI_PartId,
3191        attr_name: *const ::std::os::raw::c_char,
3192        attr_info: *mut HAPI_AttributeInfo,
3193        data_fixed_array: *mut HAPI_UInt8,
3194        data_fixed_length: ::std::os::raw::c_int,
3195        sizes_fixed_array: *mut ::std::os::raw::c_int,
3196        start: ::std::os::raw::c_int,
3197        sizes_fixed_length: ::std::os::raw::c_int,
3198        job_id: *mut ::std::os::raw::c_int,
3199    ) -> HapiResult;
3200}
3201unsafe extern "C" {
3202    pub fn HAPI_GetAttributeInt8ArrayDataAsync(
3203        session: *const HAPI_Session,
3204        node_id: HAPI_NodeId,
3205        part_id: HAPI_PartId,
3206        attr_name: *const ::std::os::raw::c_char,
3207        attr_info: *mut HAPI_AttributeInfo,
3208        data_fixed_array: *mut HAPI_Int8,
3209        data_fixed_length: ::std::os::raw::c_int,
3210        sizes_fixed_array: *mut ::std::os::raw::c_int,
3211        start: ::std::os::raw::c_int,
3212        sizes_fixed_length: ::std::os::raw::c_int,
3213        job_id: *mut ::std::os::raw::c_int,
3214    ) -> HapiResult;
3215}
3216unsafe extern "C" {
3217    pub fn HAPI_GetAttributeInt16ArrayDataAsync(
3218        session: *const HAPI_Session,
3219        node_id: HAPI_NodeId,
3220        part_id: HAPI_PartId,
3221        attr_name: *const ::std::os::raw::c_char,
3222        attr_info: *mut HAPI_AttributeInfo,
3223        data_fixed_array: *mut HAPI_Int16,
3224        data_fixed_length: ::std::os::raw::c_int,
3225        sizes_fixed_array: *mut ::std::os::raw::c_int,
3226        start: ::std::os::raw::c_int,
3227        sizes_fixed_length: ::std::os::raw::c_int,
3228        job_id: *mut ::std::os::raw::c_int,
3229    ) -> HapiResult;
3230}
3231unsafe extern "C" {
3232    pub fn HAPI_GetAttributeInt64ArrayDataAsync(
3233        session: *const HAPI_Session,
3234        node_id: HAPI_NodeId,
3235        part_id: HAPI_PartId,
3236        attr_name: *const ::std::os::raw::c_char,
3237        attr_info: *mut HAPI_AttributeInfo,
3238        data_fixed_array: *mut HAPI_Int64,
3239        data_fixed_length: ::std::os::raw::c_int,
3240        sizes_fixed_array: *mut ::std::os::raw::c_int,
3241        start: ::std::os::raw::c_int,
3242        sizes_fixed_length: ::std::os::raw::c_int,
3243        job_id: *mut ::std::os::raw::c_int,
3244    ) -> HapiResult;
3245}
3246unsafe extern "C" {
3247    pub fn HAPI_GetAttributeFloatArrayDataAsync(
3248        session: *const HAPI_Session,
3249        node_id: HAPI_NodeId,
3250        part_id: HAPI_PartId,
3251        attr_name: *const ::std::os::raw::c_char,
3252        attr_info: *mut HAPI_AttributeInfo,
3253        data_fixed_array: *mut f32,
3254        data_fixed_length: ::std::os::raw::c_int,
3255        sizes_fixed_array: *mut ::std::os::raw::c_int,
3256        start: ::std::os::raw::c_int,
3257        sizes_fixed_length: ::std::os::raw::c_int,
3258        job_id: *mut ::std::os::raw::c_int,
3259    ) -> HapiResult;
3260}
3261unsafe extern "C" {
3262    pub fn HAPI_GetAttributeFloat64ArrayDataAsync(
3263        session: *const HAPI_Session,
3264        node_id: HAPI_NodeId,
3265        part_id: HAPI_PartId,
3266        attr_name: *const ::std::os::raw::c_char,
3267        attr_info: *mut HAPI_AttributeInfo,
3268        data_fixed_array: *mut f64,
3269        data_fixed_length: ::std::os::raw::c_int,
3270        sizes_fixed_array: *mut ::std::os::raw::c_int,
3271        start: ::std::os::raw::c_int,
3272        sizes_fixed_length: ::std::os::raw::c_int,
3273        job_id: *mut ::std::os::raw::c_int,
3274    ) -> HapiResult;
3275}
3276unsafe extern "C" {
3277    pub fn HAPI_GetAttributeStringArrayDataAsync(
3278        session: *const HAPI_Session,
3279        node_id: HAPI_NodeId,
3280        part_id: HAPI_PartId,
3281        attr_name: *const ::std::os::raw::c_char,
3282        attr_info: *mut HAPI_AttributeInfo,
3283        data_fixed_array: *mut HAPI_StringHandle,
3284        data_fixed_length: ::std::os::raw::c_int,
3285        sizes_fixed_array: *mut ::std::os::raw::c_int,
3286        start: ::std::os::raw::c_int,
3287        sizes_fixed_length: ::std::os::raw::c_int,
3288        job_id: *mut ::std::os::raw::c_int,
3289    ) -> HapiResult;
3290}
3291unsafe extern "C" {
3292    pub fn HAPI_GetAttributeDictionaryArrayDataAsync(
3293        session: *const HAPI_Session,
3294        node_id: HAPI_NodeId,
3295        part_id: HAPI_PartId,
3296        attr_name: *const ::std::os::raw::c_char,
3297        attr_info: *mut HAPI_AttributeInfo,
3298        data_fixed_array: *mut HAPI_StringHandle,
3299        data_fixed_length: ::std::os::raw::c_int,
3300        sizes_fixed_array: *mut ::std::os::raw::c_int,
3301        start: ::std::os::raw::c_int,
3302        sizes_fixed_length: ::std::os::raw::c_int,
3303        job_id: *mut ::std::os::raw::c_int,
3304    ) -> HapiResult;
3305}
3306unsafe extern "C" {
3307    pub fn HAPI_GetJobStatus(
3308        session: *const HAPI_Session,
3309        job_id: ::std::os::raw::c_int,
3310        job_status: *mut JobStatus,
3311    ) -> HapiResult;
3312}
3313unsafe extern "C" {
3314    pub fn HAPI_GetGroupNames(
3315        session: *const HAPI_Session,
3316        node_id: HAPI_NodeId,
3317        group_type: GroupType,
3318        group_names_array: *mut HAPI_StringHandle,
3319        group_count: ::std::os::raw::c_int,
3320    ) -> HapiResult;
3321}
3322unsafe extern "C" {
3323    pub fn HAPI_GetGroupMembership(
3324        session: *const HAPI_Session,
3325        node_id: HAPI_NodeId,
3326        part_id: HAPI_PartId,
3327        group_type: GroupType,
3328        group_name: *const ::std::os::raw::c_char,
3329        membership_array_all_equal: *mut HAPI_Bool,
3330        membership_array: *mut ::std::os::raw::c_int,
3331        start: ::std::os::raw::c_int,
3332        length: ::std::os::raw::c_int,
3333    ) -> HapiResult;
3334}
3335unsafe extern "C" {
3336    pub fn HAPI_GetGroupCountOnPackedInstancePart(
3337        session: *const HAPI_Session,
3338        node_id: HAPI_NodeId,
3339        part_id: HAPI_PartId,
3340        pointGroupCount: *mut ::std::os::raw::c_int,
3341        primitiveGroupCount: *mut ::std::os::raw::c_int,
3342    ) -> HapiResult;
3343}
3344unsafe extern "C" {
3345    pub fn HAPI_GetGroupNamesOnPackedInstancePart(
3346        session: *const HAPI_Session,
3347        node_id: HAPI_NodeId,
3348        part_id: HAPI_PartId,
3349        group_type: GroupType,
3350        group_names_array: *mut HAPI_StringHandle,
3351        group_count: ::std::os::raw::c_int,
3352    ) -> HapiResult;
3353}
3354unsafe extern "C" {
3355    pub fn HAPI_GetGroupMembershipOnPackedInstancePart(
3356        session: *const HAPI_Session,
3357        node_id: HAPI_NodeId,
3358        part_id: HAPI_PartId,
3359        group_type: GroupType,
3360        group_name: *const ::std::os::raw::c_char,
3361        membership_array_all_equal: *mut HAPI_Bool,
3362        membership_array: *mut ::std::os::raw::c_int,
3363        start: ::std::os::raw::c_int,
3364        length: ::std::os::raw::c_int,
3365    ) -> HapiResult;
3366}
3367unsafe extern "C" {
3368    pub fn HAPI_GetInstancedPartIds(
3369        session: *const HAPI_Session,
3370        node_id: HAPI_NodeId,
3371        part_id: HAPI_PartId,
3372        instanced_parts_array: *mut HAPI_PartId,
3373        start: ::std::os::raw::c_int,
3374        length: ::std::os::raw::c_int,
3375    ) -> HapiResult;
3376}
3377unsafe extern "C" {
3378    pub fn HAPI_GetInstancerPartTransforms(
3379        session: *const HAPI_Session,
3380        node_id: HAPI_NodeId,
3381        part_id: HAPI_PartId,
3382        rst_order: RSTOrder,
3383        transforms_array: *mut HAPI_Transform,
3384        start: ::std::os::raw::c_int,
3385        length: ::std::os::raw::c_int,
3386    ) -> HapiResult;
3387}
3388unsafe extern "C" {
3389    pub fn HAPI_SetPartInfo(
3390        session: *const HAPI_Session,
3391        node_id: HAPI_NodeId,
3392        part_id: HAPI_PartId,
3393        part_info: *const HAPI_PartInfo,
3394    ) -> HapiResult;
3395}
3396unsafe extern "C" {
3397    pub fn HAPI_SetFaceCounts(
3398        session: *const HAPI_Session,
3399        node_id: HAPI_NodeId,
3400        part_id: HAPI_PartId,
3401        face_counts_array: *const ::std::os::raw::c_int,
3402        start: ::std::os::raw::c_int,
3403        length: ::std::os::raw::c_int,
3404    ) -> HapiResult;
3405}
3406unsafe extern "C" {
3407    pub fn HAPI_SetVertexList(
3408        session: *const HAPI_Session,
3409        node_id: HAPI_NodeId,
3410        part_id: HAPI_PartId,
3411        vertex_list_array: *const ::std::os::raw::c_int,
3412        start: ::std::os::raw::c_int,
3413        length: ::std::os::raw::c_int,
3414    ) -> HapiResult;
3415}
3416unsafe extern "C" {
3417    pub fn HAPI_AddAttribute(
3418        session: *const HAPI_Session,
3419        node_id: HAPI_NodeId,
3420        part_id: HAPI_PartId,
3421        name: *const ::std::os::raw::c_char,
3422        attr_info: *const HAPI_AttributeInfo,
3423    ) -> HapiResult;
3424}
3425unsafe extern "C" {
3426    pub fn HAPI_DeleteAttribute(
3427        session: *const HAPI_Session,
3428        node_id: HAPI_NodeId,
3429        part_id: HAPI_PartId,
3430        name: *const ::std::os::raw::c_char,
3431        attr_info: *const HAPI_AttributeInfo,
3432    ) -> HapiResult;
3433}
3434unsafe extern "C" {
3435    pub fn HAPI_SetAttributeIntData(
3436        session: *const HAPI_Session,
3437        node_id: HAPI_NodeId,
3438        part_id: HAPI_PartId,
3439        name: *const ::std::os::raw::c_char,
3440        attr_info: *const HAPI_AttributeInfo,
3441        data_array: *const ::std::os::raw::c_int,
3442        start: ::std::os::raw::c_int,
3443        length: ::std::os::raw::c_int,
3444    ) -> HapiResult;
3445}
3446unsafe extern "C" {
3447    pub fn HAPI_SetAttributeUInt8Data(
3448        session: *const HAPI_Session,
3449        node_id: HAPI_NodeId,
3450        part_id: HAPI_PartId,
3451        name: *const ::std::os::raw::c_char,
3452        attr_info: *const HAPI_AttributeInfo,
3453        data_array: *const HAPI_UInt8,
3454        start: ::std::os::raw::c_int,
3455        length: ::std::os::raw::c_int,
3456    ) -> HapiResult;
3457}
3458unsafe extern "C" {
3459    pub fn HAPI_SetAttributeInt8Data(
3460        session: *const HAPI_Session,
3461        node_id: HAPI_NodeId,
3462        part_id: HAPI_PartId,
3463        name: *const ::std::os::raw::c_char,
3464        attr_info: *const HAPI_AttributeInfo,
3465        data_array: *const HAPI_Int8,
3466        start: ::std::os::raw::c_int,
3467        length: ::std::os::raw::c_int,
3468    ) -> HapiResult;
3469}
3470unsafe extern "C" {
3471    pub fn HAPI_SetAttributeInt16Data(
3472        session: *const HAPI_Session,
3473        node_id: HAPI_NodeId,
3474        part_id: HAPI_PartId,
3475        name: *const ::std::os::raw::c_char,
3476        attr_info: *const HAPI_AttributeInfo,
3477        data_array: *const HAPI_Int16,
3478        start: ::std::os::raw::c_int,
3479        length: ::std::os::raw::c_int,
3480    ) -> HapiResult;
3481}
3482unsafe extern "C" {
3483    pub fn HAPI_SetAttributeInt64Data(
3484        session: *const HAPI_Session,
3485        node_id: HAPI_NodeId,
3486        part_id: HAPI_PartId,
3487        name: *const ::std::os::raw::c_char,
3488        attr_info: *const HAPI_AttributeInfo,
3489        data_array: *const HAPI_Int64,
3490        start: ::std::os::raw::c_int,
3491        length: ::std::os::raw::c_int,
3492    ) -> HapiResult;
3493}
3494unsafe extern "C" {
3495    pub fn HAPI_SetAttributeFloatData(
3496        session: *const HAPI_Session,
3497        node_id: HAPI_NodeId,
3498        part_id: HAPI_PartId,
3499        name: *const ::std::os::raw::c_char,
3500        attr_info: *const HAPI_AttributeInfo,
3501        data_array: *const f32,
3502        start: ::std::os::raw::c_int,
3503        length: ::std::os::raw::c_int,
3504    ) -> HapiResult;
3505}
3506unsafe extern "C" {
3507    pub fn HAPI_SetAttributeFloat64Data(
3508        session: *const HAPI_Session,
3509        node_id: HAPI_NodeId,
3510        part_id: HAPI_PartId,
3511        name: *const ::std::os::raw::c_char,
3512        attr_info: *const HAPI_AttributeInfo,
3513        data_array: *const f64,
3514        start: ::std::os::raw::c_int,
3515        length: ::std::os::raw::c_int,
3516    ) -> HapiResult;
3517}
3518unsafe extern "C" {
3519    pub fn HAPI_SetAttributeStringData(
3520        session: *const HAPI_Session,
3521        node_id: HAPI_NodeId,
3522        part_id: HAPI_PartId,
3523        name: *const ::std::os::raw::c_char,
3524        attr_info: *const HAPI_AttributeInfo,
3525        data_array: *mut *const ::std::os::raw::c_char,
3526        start: ::std::os::raw::c_int,
3527        length: ::std::os::raw::c_int,
3528    ) -> HapiResult;
3529}
3530unsafe extern "C" {
3531    pub fn HAPI_SetAttributeIndexedStringData(
3532        session: *const HAPI_Session,
3533        node_id: HAPI_NodeId,
3534        part_id: HAPI_PartId,
3535        name: *const ::std::os::raw::c_char,
3536        attr_info: *const HAPI_AttributeInfo,
3537        string_array: *mut *const ::std::os::raw::c_char,
3538        string_count: ::std::os::raw::c_int,
3539        indices_array: *const ::std::os::raw::c_int,
3540        indices_start: ::std::os::raw::c_int,
3541        indices_length: ::std::os::raw::c_int,
3542    ) -> HapiResult;
3543}
3544unsafe extern "C" {
3545    pub fn HAPI_SetAttributeStringUniqueData(
3546        session: *const HAPI_Session,
3547        node_id: HAPI_NodeId,
3548        part_id: HAPI_PartId,
3549        name: *const ::std::os::raw::c_char,
3550        attr_info: *const HAPI_AttributeInfo,
3551        data_array: *const ::std::os::raw::c_char,
3552        data_length: ::std::os::raw::c_int,
3553        start_index: ::std::os::raw::c_int,
3554        num_indices: ::std::os::raw::c_int,
3555    ) -> HapiResult;
3556}
3557unsafe extern "C" {
3558    pub fn HAPI_SetAttributeIntUniqueData(
3559        session: *const HAPI_Session,
3560        node_id: HAPI_NodeId,
3561        part_id: HAPI_PartId,
3562        name: *const ::std::os::raw::c_char,
3563        attr_info: *const HAPI_AttributeInfo,
3564        data_array: *const ::std::os::raw::c_int,
3565        data_length: ::std::os::raw::c_int,
3566        start_index: ::std::os::raw::c_int,
3567        num_indices: ::std::os::raw::c_int,
3568    ) -> HapiResult;
3569}
3570unsafe extern "C" {
3571    pub fn HAPI_SetAttributeUInt8UniqueData(
3572        session: *const HAPI_Session,
3573        node_id: HAPI_NodeId,
3574        part_id: HAPI_PartId,
3575        name: *const ::std::os::raw::c_char,
3576        attr_info: *const HAPI_AttributeInfo,
3577        data_array: *const HAPI_UInt8,
3578        data_length: ::std::os::raw::c_int,
3579        start_index: ::std::os::raw::c_int,
3580        num_indices: ::std::os::raw::c_int,
3581    ) -> HapiResult;
3582}
3583unsafe extern "C" {
3584    pub fn HAPI_SetAttributeInt8UniqueData(
3585        session: *const HAPI_Session,
3586        node_id: HAPI_NodeId,
3587        part_id: HAPI_PartId,
3588        name: *const ::std::os::raw::c_char,
3589        attr_info: *const HAPI_AttributeInfo,
3590        data_array: *const HAPI_Int8,
3591        data_length: ::std::os::raw::c_int,
3592        start_index: ::std::os::raw::c_int,
3593        num_indices: ::std::os::raw::c_int,
3594    ) -> HapiResult;
3595}
3596unsafe extern "C" {
3597    pub fn HAPI_SetAttributeInt16UniqueData(
3598        session: *const HAPI_Session,
3599        node_id: HAPI_NodeId,
3600        part_id: HAPI_PartId,
3601        name: *const ::std::os::raw::c_char,
3602        attr_info: *const HAPI_AttributeInfo,
3603        data_array: *const HAPI_Int16,
3604        data_length: ::std::os::raw::c_int,
3605        start_index: ::std::os::raw::c_int,
3606        num_indices: ::std::os::raw::c_int,
3607    ) -> HapiResult;
3608}
3609unsafe extern "C" {
3610    pub fn HAPI_SetAttributeInt64UniqueData(
3611        session: *const HAPI_Session,
3612        node_id: HAPI_NodeId,
3613        part_id: HAPI_PartId,
3614        name: *const ::std::os::raw::c_char,
3615        attr_info: *const HAPI_AttributeInfo,
3616        data_array: *const HAPI_Int64,
3617        data_length: ::std::os::raw::c_int,
3618        start_index: ::std::os::raw::c_int,
3619        num_indices: ::std::os::raw::c_int,
3620    ) -> HapiResult;
3621}
3622unsafe extern "C" {
3623    pub fn HAPI_SetAttributeFloatUniqueData(
3624        session: *const HAPI_Session,
3625        node_id: HAPI_NodeId,
3626        part_id: HAPI_PartId,
3627        name: *const ::std::os::raw::c_char,
3628        attr_info: *const HAPI_AttributeInfo,
3629        data_array: *const f32,
3630        data_length: ::std::os::raw::c_int,
3631        start_index: ::std::os::raw::c_int,
3632        num_indices: ::std::os::raw::c_int,
3633    ) -> HapiResult;
3634}
3635unsafe extern "C" {
3636    pub fn HAPI_SetAttributeFloat64UniqueData(
3637        session: *const HAPI_Session,
3638        node_id: HAPI_NodeId,
3639        part_id: HAPI_PartId,
3640        name: *const ::std::os::raw::c_char,
3641        attr_info: *const HAPI_AttributeInfo,
3642        data_array: *const f64,
3643        data_length: ::std::os::raw::c_int,
3644        start_index: ::std::os::raw::c_int,
3645        num_indices: ::std::os::raw::c_int,
3646    ) -> HapiResult;
3647}
3648unsafe extern "C" {
3649    pub fn HAPI_SetAttributeDictionaryData(
3650        session: *const HAPI_Session,
3651        node_id: HAPI_NodeId,
3652        part_id: HAPI_PartId,
3653        name: *const ::std::os::raw::c_char,
3654        attr_info: *const HAPI_AttributeInfo,
3655        data_array: *mut *const ::std::os::raw::c_char,
3656        start: ::std::os::raw::c_int,
3657        length: ::std::os::raw::c_int,
3658    ) -> HapiResult;
3659}
3660unsafe extern "C" {
3661    pub fn HAPI_SetAttributeIntArrayData(
3662        session: *const HAPI_Session,
3663        node_id: HAPI_NodeId,
3664        part_id: HAPI_PartId,
3665        name: *const ::std::os::raw::c_char,
3666        attr_info: *const HAPI_AttributeInfo,
3667        data_fixed_array: *const ::std::os::raw::c_int,
3668        data_fixed_length: ::std::os::raw::c_int,
3669        sizes_fixed_array: *const ::std::os::raw::c_int,
3670        start: ::std::os::raw::c_int,
3671        sizes_fixed_length: ::std::os::raw::c_int,
3672    ) -> HapiResult;
3673}
3674unsafe extern "C" {
3675    pub fn HAPI_SetAttributeUInt8ArrayData(
3676        session: *const HAPI_Session,
3677        node_id: HAPI_NodeId,
3678        part_id: HAPI_PartId,
3679        name: *const ::std::os::raw::c_char,
3680        attr_info: *const HAPI_AttributeInfo,
3681        data_fixed_array: *const HAPI_UInt8,
3682        data_fixed_length: ::std::os::raw::c_int,
3683        sizes_fixed_array: *const ::std::os::raw::c_int,
3684        start: ::std::os::raw::c_int,
3685        sizes_fixed_length: ::std::os::raw::c_int,
3686    ) -> HapiResult;
3687}
3688unsafe extern "C" {
3689    pub fn HAPI_SetAttributeInt8ArrayData(
3690        session: *const HAPI_Session,
3691        node_id: HAPI_NodeId,
3692        part_id: HAPI_PartId,
3693        name: *const ::std::os::raw::c_char,
3694        attr_info: *const HAPI_AttributeInfo,
3695        data_fixed_array: *const HAPI_Int8,
3696        data_fixed_length: ::std::os::raw::c_int,
3697        sizes_fixed_array: *const ::std::os::raw::c_int,
3698        start: ::std::os::raw::c_int,
3699        sizes_fixed_length: ::std::os::raw::c_int,
3700    ) -> HapiResult;
3701}
3702unsafe extern "C" {
3703    pub fn HAPI_SetAttributeInt16ArrayData(
3704        session: *const HAPI_Session,
3705        node_id: HAPI_NodeId,
3706        part_id: HAPI_PartId,
3707        name: *const ::std::os::raw::c_char,
3708        attr_info: *const HAPI_AttributeInfo,
3709        data_fixed_array: *const HAPI_Int16,
3710        data_fixed_length: ::std::os::raw::c_int,
3711        sizes_fixed_array: *const ::std::os::raw::c_int,
3712        start: ::std::os::raw::c_int,
3713        sizes_fixed_length: ::std::os::raw::c_int,
3714    ) -> HapiResult;
3715}
3716unsafe extern "C" {
3717    pub fn HAPI_SetAttributeInt64ArrayData(
3718        session: *const HAPI_Session,
3719        node_id: HAPI_NodeId,
3720        part_id: HAPI_PartId,
3721        name: *const ::std::os::raw::c_char,
3722        attr_info: *const HAPI_AttributeInfo,
3723        data_fixed_array: *const HAPI_Int64,
3724        data_fixed_length: ::std::os::raw::c_int,
3725        sizes_fixed_array: *const ::std::os::raw::c_int,
3726        start: ::std::os::raw::c_int,
3727        sizes_fixed_length: ::std::os::raw::c_int,
3728    ) -> HapiResult;
3729}
3730unsafe extern "C" {
3731    pub fn HAPI_SetAttributeFloatArrayData(
3732        session: *const HAPI_Session,
3733        node_id: HAPI_NodeId,
3734        part_id: HAPI_PartId,
3735        name: *const ::std::os::raw::c_char,
3736        attr_info: *const HAPI_AttributeInfo,
3737        data_fixed_array: *const f32,
3738        data_fixed_length: ::std::os::raw::c_int,
3739        sizes_fixed_array: *const ::std::os::raw::c_int,
3740        start: ::std::os::raw::c_int,
3741        sizes_fixed_length: ::std::os::raw::c_int,
3742    ) -> HapiResult;
3743}
3744unsafe extern "C" {
3745    pub fn HAPI_SetAttributeFloat64ArrayData(
3746        session: *const HAPI_Session,
3747        node_id: HAPI_NodeId,
3748        part_id: HAPI_PartId,
3749        name: *const ::std::os::raw::c_char,
3750        attr_info: *const HAPI_AttributeInfo,
3751        data_fixed_array: *const f64,
3752        data_fixed_length: ::std::os::raw::c_int,
3753        sizes_fixed_array: *const ::std::os::raw::c_int,
3754        start: ::std::os::raw::c_int,
3755        sizes_fixed_length: ::std::os::raw::c_int,
3756    ) -> HapiResult;
3757}
3758unsafe extern "C" {
3759    pub fn HAPI_SetAttributeStringArrayData(
3760        session: *const HAPI_Session,
3761        node_id: HAPI_NodeId,
3762        part_id: HAPI_PartId,
3763        name: *const ::std::os::raw::c_char,
3764        attr_info: *const HAPI_AttributeInfo,
3765        data_fixed_array: *mut *const ::std::os::raw::c_char,
3766        data_fixed_length: ::std::os::raw::c_int,
3767        sizes_fixed_array: *const ::std::os::raw::c_int,
3768        start: ::std::os::raw::c_int,
3769        sizes_fixed_length: ::std::os::raw::c_int,
3770    ) -> HapiResult;
3771}
3772unsafe extern "C" {
3773    pub fn HAPI_SetAttributeDictionaryArrayData(
3774        session: *const HAPI_Session,
3775        node_id: HAPI_NodeId,
3776        part_id: HAPI_PartId,
3777        name: *const ::std::os::raw::c_char,
3778        attr_info: *const HAPI_AttributeInfo,
3779        data_fixed_array: *mut *const ::std::os::raw::c_char,
3780        data_fixed_length: ::std::os::raw::c_int,
3781        sizes_fixed_array: *const ::std::os::raw::c_int,
3782        start: ::std::os::raw::c_int,
3783        sizes_fixed_length: ::std::os::raw::c_int,
3784    ) -> HapiResult;
3785}
3786unsafe extern "C" {
3787    pub fn HAPI_SetAttributeIntDataAsync(
3788        session: *const HAPI_Session,
3789        node_id: HAPI_NodeId,
3790        part_id: HAPI_PartId,
3791        name: *const ::std::os::raw::c_char,
3792        attr_info: *const HAPI_AttributeInfo,
3793        data_array: *const ::std::os::raw::c_int,
3794        start: ::std::os::raw::c_int,
3795        length: ::std::os::raw::c_int,
3796        job_id: *mut ::std::os::raw::c_int,
3797    ) -> HapiResult;
3798}
3799unsafe extern "C" {
3800    pub fn HAPI_SetAttributeUInt8DataAsync(
3801        session: *const HAPI_Session,
3802        node_id: HAPI_NodeId,
3803        part_id: HAPI_PartId,
3804        name: *const ::std::os::raw::c_char,
3805        attr_info: *const HAPI_AttributeInfo,
3806        data_array: *const HAPI_UInt8,
3807        start: ::std::os::raw::c_int,
3808        length: ::std::os::raw::c_int,
3809        job_id: *mut ::std::os::raw::c_int,
3810    ) -> HapiResult;
3811}
3812unsafe extern "C" {
3813    pub fn HAPI_SetAttributeInt8DataAsync(
3814        session: *const HAPI_Session,
3815        node_id: HAPI_NodeId,
3816        part_id: HAPI_PartId,
3817        name: *const ::std::os::raw::c_char,
3818        attr_info: *const HAPI_AttributeInfo,
3819        data_array: *const HAPI_Int8,
3820        start: ::std::os::raw::c_int,
3821        length: ::std::os::raw::c_int,
3822        job_id: *mut ::std::os::raw::c_int,
3823    ) -> HapiResult;
3824}
3825unsafe extern "C" {
3826    pub fn HAPI_SetAttributeInt16DataAsync(
3827        session: *const HAPI_Session,
3828        node_id: HAPI_NodeId,
3829        part_id: HAPI_PartId,
3830        name: *const ::std::os::raw::c_char,
3831        attr_info: *const HAPI_AttributeInfo,
3832        data_array: *const HAPI_Int16,
3833        start: ::std::os::raw::c_int,
3834        length: ::std::os::raw::c_int,
3835        job_id: *mut ::std::os::raw::c_int,
3836    ) -> HapiResult;
3837}
3838unsafe extern "C" {
3839    pub fn HAPI_SetAttributeInt64DataAsync(
3840        session: *const HAPI_Session,
3841        node_id: HAPI_NodeId,
3842        part_id: HAPI_PartId,
3843        name: *const ::std::os::raw::c_char,
3844        attr_info: *const HAPI_AttributeInfo,
3845        data_array: *const HAPI_Int64,
3846        start: ::std::os::raw::c_int,
3847        length: ::std::os::raw::c_int,
3848        job_id: *mut ::std::os::raw::c_int,
3849    ) -> HapiResult;
3850}
3851unsafe extern "C" {
3852    pub fn HAPI_SetAttributeFloatDataAsync(
3853        session: *const HAPI_Session,
3854        node_id: HAPI_NodeId,
3855        part_id: HAPI_PartId,
3856        name: *const ::std::os::raw::c_char,
3857        attr_info: *const HAPI_AttributeInfo,
3858        data_array: *const f32,
3859        start: ::std::os::raw::c_int,
3860        length: ::std::os::raw::c_int,
3861        job_id: *mut ::std::os::raw::c_int,
3862    ) -> HapiResult;
3863}
3864unsafe extern "C" {
3865    pub fn HAPI_SetAttributeFloat64DataAsync(
3866        session: *const HAPI_Session,
3867        node_id: HAPI_NodeId,
3868        part_id: HAPI_PartId,
3869        name: *const ::std::os::raw::c_char,
3870        attr_info: *const HAPI_AttributeInfo,
3871        data_array: *const f64,
3872        start: ::std::os::raw::c_int,
3873        length: ::std::os::raw::c_int,
3874        job_id: *mut ::std::os::raw::c_int,
3875    ) -> HapiResult;
3876}
3877unsafe extern "C" {
3878    pub fn HAPI_SetAttributeStringDataAsync(
3879        session: *const HAPI_Session,
3880        node_id: HAPI_NodeId,
3881        part_id: HAPI_PartId,
3882        name: *const ::std::os::raw::c_char,
3883        attr_info: *const HAPI_AttributeInfo,
3884        data_array: *mut *const ::std::os::raw::c_char,
3885        start: ::std::os::raw::c_int,
3886        length: ::std::os::raw::c_int,
3887        job_id: *mut ::std::os::raw::c_int,
3888    ) -> HapiResult;
3889}
3890unsafe extern "C" {
3891    pub fn HAPI_SetAttributeIndexedStringDataAsync(
3892        session: *const HAPI_Session,
3893        node_id: HAPI_NodeId,
3894        part_id: HAPI_PartId,
3895        name: *const ::std::os::raw::c_char,
3896        attr_info: *const HAPI_AttributeInfo,
3897        string_array: *mut *const ::std::os::raw::c_char,
3898        string_count: ::std::os::raw::c_int,
3899        indices_array: *const ::std::os::raw::c_int,
3900        indices_start: ::std::os::raw::c_int,
3901        indices_length: ::std::os::raw::c_int,
3902        job_id: *mut ::std::os::raw::c_int,
3903    ) -> HapiResult;
3904}
3905unsafe extern "C" {
3906    pub fn HAPI_SetAttributeStringUniqueDataAsync(
3907        session: *const HAPI_Session,
3908        node_id: HAPI_NodeId,
3909        part_id: HAPI_PartId,
3910        name: *const ::std::os::raw::c_char,
3911        attr_info: *const HAPI_AttributeInfo,
3912        data_array: *const ::std::os::raw::c_char,
3913        data_length: ::std::os::raw::c_int,
3914        start_index: ::std::os::raw::c_int,
3915        num_indices: ::std::os::raw::c_int,
3916        job_id: *mut ::std::os::raw::c_int,
3917    ) -> HapiResult;
3918}
3919unsafe extern "C" {
3920    pub fn HAPI_SetAttributeIntUniqueDataAsync(
3921        session: *const HAPI_Session,
3922        node_id: HAPI_NodeId,
3923        part_id: HAPI_PartId,
3924        name: *const ::std::os::raw::c_char,
3925        attr_info: *const HAPI_AttributeInfo,
3926        data_array: *const ::std::os::raw::c_int,
3927        data_length: ::std::os::raw::c_int,
3928        start_index: ::std::os::raw::c_int,
3929        num_indices: ::std::os::raw::c_int,
3930        job_id: *mut ::std::os::raw::c_int,
3931    ) -> HapiResult;
3932}
3933unsafe extern "C" {
3934    pub fn HAPI_SetAttributeUInt8UniqueDataAsync(
3935        session: *const HAPI_Session,
3936        node_id: HAPI_NodeId,
3937        part_id: HAPI_PartId,
3938        name: *const ::std::os::raw::c_char,
3939        attr_info: *const HAPI_AttributeInfo,
3940        data_array: *const HAPI_UInt8,
3941        data_length: ::std::os::raw::c_int,
3942        start_index: ::std::os::raw::c_int,
3943        num_indices: ::std::os::raw::c_int,
3944        job_id: *mut ::std::os::raw::c_int,
3945    ) -> HapiResult;
3946}
3947unsafe extern "C" {
3948    pub fn HAPI_SetAttributeInt8UniqueDataAsync(
3949        session: *const HAPI_Session,
3950        node_id: HAPI_NodeId,
3951        part_id: HAPI_PartId,
3952        name: *const ::std::os::raw::c_char,
3953        attr_info: *const HAPI_AttributeInfo,
3954        data_array: *const HAPI_Int8,
3955        data_length: ::std::os::raw::c_int,
3956        start_index: ::std::os::raw::c_int,
3957        num_indices: ::std::os::raw::c_int,
3958        job_id: *mut ::std::os::raw::c_int,
3959    ) -> HapiResult;
3960}
3961unsafe extern "C" {
3962    pub fn HAPI_SetAttributeInt16UniqueDataAsync(
3963        session: *const HAPI_Session,
3964        node_id: HAPI_NodeId,
3965        part_id: HAPI_PartId,
3966        name: *const ::std::os::raw::c_char,
3967        attr_info: *const HAPI_AttributeInfo,
3968        data_array: *const HAPI_Int16,
3969        data_length: ::std::os::raw::c_int,
3970        start_index: ::std::os::raw::c_int,
3971        num_indices: ::std::os::raw::c_int,
3972        job_id: *mut ::std::os::raw::c_int,
3973    ) -> HapiResult;
3974}
3975unsafe extern "C" {
3976    pub fn HAPI_SetAttributeInt64UniqueDataAsync(
3977        session: *const HAPI_Session,
3978        node_id: HAPI_NodeId,
3979        part_id: HAPI_PartId,
3980        name: *const ::std::os::raw::c_char,
3981        attr_info: *const HAPI_AttributeInfo,
3982        data_array: *const HAPI_Int64,
3983        data_length: ::std::os::raw::c_int,
3984        start_index: ::std::os::raw::c_int,
3985        num_indices: ::std::os::raw::c_int,
3986        job_id: *mut ::std::os::raw::c_int,
3987    ) -> HapiResult;
3988}
3989unsafe extern "C" {
3990    pub fn HAPI_SetAttributeFloatUniqueDataAsync(
3991        session: *const HAPI_Session,
3992        node_id: HAPI_NodeId,
3993        part_id: HAPI_PartId,
3994        name: *const ::std::os::raw::c_char,
3995        attr_info: *const HAPI_AttributeInfo,
3996        data_array: *const f32,
3997        data_length: ::std::os::raw::c_int,
3998        start_index: ::std::os::raw::c_int,
3999        num_indices: ::std::os::raw::c_int,
4000        job_id: *mut ::std::os::raw::c_int,
4001    ) -> HapiResult;
4002}
4003unsafe extern "C" {
4004    pub fn HAPI_SetAttributeFloat64UniqueDataAsync(
4005        session: *const HAPI_Session,
4006        node_id: HAPI_NodeId,
4007        part_id: HAPI_PartId,
4008        name: *const ::std::os::raw::c_char,
4009        attr_info: *const HAPI_AttributeInfo,
4010        data_array: *const f64,
4011        data_length: ::std::os::raw::c_int,
4012        start_index: ::std::os::raw::c_int,
4013        num_indices: ::std::os::raw::c_int,
4014        job_id: *mut ::std::os::raw::c_int,
4015    ) -> HapiResult;
4016}
4017unsafe extern "C" {
4018    pub fn HAPI_SetAttributeDictionaryDataAsync(
4019        session: *const HAPI_Session,
4020        node_id: HAPI_NodeId,
4021        part_id: HAPI_PartId,
4022        name: *const ::std::os::raw::c_char,
4023        attr_info: *const HAPI_AttributeInfo,
4024        data_array: *mut *const ::std::os::raw::c_char,
4025        start: ::std::os::raw::c_int,
4026        length: ::std::os::raw::c_int,
4027        job_id: *mut ::std::os::raw::c_int,
4028    ) -> HapiResult;
4029}
4030unsafe extern "C" {
4031    pub fn HAPI_SetAttributeIntArrayDataAsync(
4032        session: *const HAPI_Session,
4033        node_id: HAPI_NodeId,
4034        part_id: HAPI_PartId,
4035        name: *const ::std::os::raw::c_char,
4036        attr_info: *const HAPI_AttributeInfo,
4037        data_fixed_array: *const ::std::os::raw::c_int,
4038        data_fixed_length: ::std::os::raw::c_int,
4039        sizes_fixed_array: *const ::std::os::raw::c_int,
4040        start: ::std::os::raw::c_int,
4041        sizes_fixed_length: ::std::os::raw::c_int,
4042        job_id: *mut ::std::os::raw::c_int,
4043    ) -> HapiResult;
4044}
4045unsafe extern "C" {
4046    pub fn HAPI_SetAttributeUInt8ArrayDataAsync(
4047        session: *const HAPI_Session,
4048        node_id: HAPI_NodeId,
4049        part_id: HAPI_PartId,
4050        name: *const ::std::os::raw::c_char,
4051        attr_info: *const HAPI_AttributeInfo,
4052        data_fixed_array: *const HAPI_UInt8,
4053        data_fixed_length: ::std::os::raw::c_int,
4054        sizes_fixed_array: *const ::std::os::raw::c_int,
4055        start: ::std::os::raw::c_int,
4056        sizes_fixed_length: ::std::os::raw::c_int,
4057        job_id: *mut ::std::os::raw::c_int,
4058    ) -> HapiResult;
4059}
4060unsafe extern "C" {
4061    pub fn HAPI_SetAttributeInt8ArrayDataAsync(
4062        session: *const HAPI_Session,
4063        node_id: HAPI_NodeId,
4064        part_id: HAPI_PartId,
4065        name: *const ::std::os::raw::c_char,
4066        attr_info: *const HAPI_AttributeInfo,
4067        data_fixed_array: *const HAPI_Int8,
4068        data_fixed_length: ::std::os::raw::c_int,
4069        sizes_fixed_array: *const ::std::os::raw::c_int,
4070        start: ::std::os::raw::c_int,
4071        sizes_fixed_length: ::std::os::raw::c_int,
4072        job_id: *mut ::std::os::raw::c_int,
4073    ) -> HapiResult;
4074}
4075unsafe extern "C" {
4076    pub fn HAPI_SetAttributeInt16ArrayDataAsync(
4077        session: *const HAPI_Session,
4078        node_id: HAPI_NodeId,
4079        part_id: HAPI_PartId,
4080        name: *const ::std::os::raw::c_char,
4081        attr_info: *const HAPI_AttributeInfo,
4082        data_fixed_array: *const HAPI_Int16,
4083        data_fixed_length: ::std::os::raw::c_int,
4084        sizes_fixed_array: *const ::std::os::raw::c_int,
4085        start: ::std::os::raw::c_int,
4086        sizes_fixed_length: ::std::os::raw::c_int,
4087        job_id: *mut ::std::os::raw::c_int,
4088    ) -> HapiResult;
4089}
4090unsafe extern "C" {
4091    pub fn HAPI_SetAttributeInt64ArrayDataAsync(
4092        session: *const HAPI_Session,
4093        node_id: HAPI_NodeId,
4094        part_id: HAPI_PartId,
4095        name: *const ::std::os::raw::c_char,
4096        attr_info: *const HAPI_AttributeInfo,
4097        data_fixed_array: *const HAPI_Int64,
4098        data_fixed_length: ::std::os::raw::c_int,
4099        sizes_fixed_array: *const ::std::os::raw::c_int,
4100        start: ::std::os::raw::c_int,
4101        sizes_fixed_length: ::std::os::raw::c_int,
4102        job_id: *mut ::std::os::raw::c_int,
4103    ) -> HapiResult;
4104}
4105unsafe extern "C" {
4106    pub fn HAPI_SetAttributeFloatArrayDataAsync(
4107        session: *const HAPI_Session,
4108        node_id: HAPI_NodeId,
4109        part_id: HAPI_PartId,
4110        name: *const ::std::os::raw::c_char,
4111        attr_info: *const HAPI_AttributeInfo,
4112        data_fixed_array: *const f32,
4113        data_fixed_length: ::std::os::raw::c_int,
4114        sizes_fixed_array: *const ::std::os::raw::c_int,
4115        start: ::std::os::raw::c_int,
4116        sizes_fixed_length: ::std::os::raw::c_int,
4117        job_id: *mut ::std::os::raw::c_int,
4118    ) -> HapiResult;
4119}
4120unsafe extern "C" {
4121    pub fn HAPI_SetAttributeFloat64ArrayDataAsync(
4122        session: *const HAPI_Session,
4123        node_id: HAPI_NodeId,
4124        part_id: HAPI_PartId,
4125        name: *const ::std::os::raw::c_char,
4126        attr_info: *const HAPI_AttributeInfo,
4127        data_fixed_array: *const f64,
4128        data_fixed_length: ::std::os::raw::c_int,
4129        sizes_fixed_array: *const ::std::os::raw::c_int,
4130        start: ::std::os::raw::c_int,
4131        sizes_fixed_length: ::std::os::raw::c_int,
4132        job_id: *mut ::std::os::raw::c_int,
4133    ) -> HapiResult;
4134}
4135unsafe extern "C" {
4136    pub fn HAPI_SetAttributeStringArrayDataAsync(
4137        session: *const HAPI_Session,
4138        node_id: HAPI_NodeId,
4139        part_id: HAPI_PartId,
4140        name: *const ::std::os::raw::c_char,
4141        attr_info: *const HAPI_AttributeInfo,
4142        data_fixed_array: *mut *const ::std::os::raw::c_char,
4143        data_fixed_length: ::std::os::raw::c_int,
4144        sizes_fixed_array: *const ::std::os::raw::c_int,
4145        start: ::std::os::raw::c_int,
4146        sizes_fixed_length: ::std::os::raw::c_int,
4147        job_id: *mut ::std::os::raw::c_int,
4148    ) -> HapiResult;
4149}
4150unsafe extern "C" {
4151    pub fn HAPI_SetAttributeDictionaryArrayDataAsync(
4152        session: *const HAPI_Session,
4153        node_id: HAPI_NodeId,
4154        part_id: HAPI_PartId,
4155        name: *const ::std::os::raw::c_char,
4156        attr_info: *const HAPI_AttributeInfo,
4157        data_fixed_array: *mut *const ::std::os::raw::c_char,
4158        data_fixed_length: ::std::os::raw::c_int,
4159        sizes_fixed_array: *const ::std::os::raw::c_int,
4160        start: ::std::os::raw::c_int,
4161        sizes_fixed_length: ::std::os::raw::c_int,
4162        job_id: *mut ::std::os::raw::c_int,
4163    ) -> HapiResult;
4164}
4165unsafe extern "C" {
4166    pub fn HAPI_AddGroup(
4167        session: *const HAPI_Session,
4168        node_id: HAPI_NodeId,
4169        part_id: HAPI_PartId,
4170        group_type: GroupType,
4171        group_name: *const ::std::os::raw::c_char,
4172    ) -> HapiResult;
4173}
4174unsafe extern "C" {
4175    pub fn HAPI_DeleteGroup(
4176        session: *const HAPI_Session,
4177        node_id: HAPI_NodeId,
4178        part_id: HAPI_PartId,
4179        group_type: GroupType,
4180        group_name: *const ::std::os::raw::c_char,
4181    ) -> HapiResult;
4182}
4183unsafe extern "C" {
4184    pub fn HAPI_SetGroupMembership(
4185        session: *const HAPI_Session,
4186        node_id: HAPI_NodeId,
4187        part_id: HAPI_PartId,
4188        group_type: GroupType,
4189        group_name: *const ::std::os::raw::c_char,
4190        membership_array: *const ::std::os::raw::c_int,
4191        start: ::std::os::raw::c_int,
4192        length: ::std::os::raw::c_int,
4193    ) -> HapiResult;
4194}
4195unsafe extern "C" {
4196    pub fn HAPI_CommitGeo(session: *const HAPI_Session, node_id: HAPI_NodeId) -> HapiResult;
4197}
4198unsafe extern "C" {
4199    pub fn HAPI_RevertGeo(session: *const HAPI_Session, node_id: HAPI_NodeId) -> HapiResult;
4200}
4201unsafe extern "C" {
4202    pub fn HAPI_GetMaterialNodeIdsOnFaces(
4203        session: *const HAPI_Session,
4204        geometry_node_id: HAPI_NodeId,
4205        part_id: HAPI_PartId,
4206        are_all_the_same: *mut HAPI_Bool,
4207        material_ids_array: *mut HAPI_NodeId,
4208        start: ::std::os::raw::c_int,
4209        length: ::std::os::raw::c_int,
4210    ) -> HapiResult;
4211}
4212unsafe extern "C" {
4213    pub fn HAPI_GetMaterialInfo(
4214        session: *const HAPI_Session,
4215        material_node_id: HAPI_NodeId,
4216        material_info: *mut HAPI_MaterialInfo,
4217    ) -> HapiResult;
4218}
4219unsafe extern "C" {
4220    pub fn HAPI_RenderCOPToImage(
4221        session: *const HAPI_Session,
4222        cop_node_id: HAPI_NodeId,
4223    ) -> HapiResult;
4224}
4225unsafe extern "C" {
4226    pub fn HAPI_RenderCOPOutputToImage(
4227        session: *const HAPI_Session,
4228        cop_node_id: HAPI_NodeId,
4229        cop_output_name: *const ::std::os::raw::c_char,
4230    ) -> HapiResult;
4231}
4232unsafe extern "C" {
4233    pub fn HAPI_RenderTextureToImage(
4234        session: *const HAPI_Session,
4235        material_node_id: HAPI_NodeId,
4236        parm_id: HAPI_ParmId,
4237    ) -> HapiResult;
4238}
4239unsafe extern "C" {
4240    pub fn HAPI_GetImageInfo(
4241        session: *const HAPI_Session,
4242        material_node_id: HAPI_NodeId,
4243        image_info: *mut HAPI_ImageInfo,
4244    ) -> HapiResult;
4245}
4246unsafe extern "C" {
4247    pub fn HAPI_SetImageInfo(
4248        session: *const HAPI_Session,
4249        material_node_id: HAPI_NodeId,
4250        image_info: *const HAPI_ImageInfo,
4251    ) -> HapiResult;
4252}
4253unsafe extern "C" {
4254    pub fn HAPI_GetImagePlaneCount(
4255        session: *const HAPI_Session,
4256        material_node_id: HAPI_NodeId,
4257        image_plane_count: *mut ::std::os::raw::c_int,
4258    ) -> HapiResult;
4259}
4260unsafe extern "C" {
4261    pub fn HAPI_GetImagePlanes(
4262        session: *const HAPI_Session,
4263        material_node_id: HAPI_NodeId,
4264        image_planes_array: *mut HAPI_StringHandle,
4265        image_plane_count: ::std::os::raw::c_int,
4266    ) -> HapiResult;
4267}
4268unsafe extern "C" {
4269    pub fn HAPI_ExtractImageToFile(
4270        session: *const HAPI_Session,
4271        material_node_id: HAPI_NodeId,
4272        image_file_format_name: *const ::std::os::raw::c_char,
4273        image_planes: *const ::std::os::raw::c_char,
4274        destination_folder_path: *const ::std::os::raw::c_char,
4275        destination_file_name: *const ::std::os::raw::c_char,
4276        destination_file_path: *mut ::std::os::raw::c_int,
4277    ) -> HapiResult;
4278}
4279unsafe extern "C" {
4280    pub fn HAPI_GetImageFilePath(
4281        session: *const HAPI_Session,
4282        material_node_id: HAPI_NodeId,
4283        image_file_format_name: *const ::std::os::raw::c_char,
4284        image_planes: *const ::std::os::raw::c_char,
4285        destination_folder_path: *const ::std::os::raw::c_char,
4286        destination_file_name: *const ::std::os::raw::c_char,
4287        texture_parm_id: HAPI_ParmId,
4288        destination_file_path: *mut ::std::os::raw::c_int,
4289    ) -> HapiResult;
4290}
4291unsafe extern "C" {
4292    pub fn HAPI_ExtractImageToMemory(
4293        session: *const HAPI_Session,
4294        material_node_id: HAPI_NodeId,
4295        image_file_format_name: *const ::std::os::raw::c_char,
4296        image_planes: *const ::std::os::raw::c_char,
4297        buffer_size: *mut ::std::os::raw::c_int,
4298    ) -> HapiResult;
4299}
4300unsafe extern "C" {
4301    pub fn HAPI_GetImageMemoryBuffer(
4302        session: *const HAPI_Session,
4303        material_node_id: HAPI_NodeId,
4304        buffer: *mut ::std::os::raw::c_char,
4305        length: ::std::os::raw::c_int,
4306    ) -> HapiResult;
4307}
4308unsafe extern "C" {
4309    pub fn HAPI_GetSupportedImageFileFormatCount(
4310        session: *const HAPI_Session,
4311        file_format_count: *mut ::std::os::raw::c_int,
4312    ) -> HapiResult;
4313}
4314unsafe extern "C" {
4315    pub fn HAPI_GetSupportedImageFileFormats(
4316        session: *const HAPI_Session,
4317        formats_array: *mut HAPI_ImageFileFormat,
4318        file_format_count: ::std::os::raw::c_int,
4319    ) -> HapiResult;
4320}
4321unsafe extern "C" {
4322    pub fn HAPI_CreateCOPImage(
4323        session: *const HAPI_Session,
4324        parent_node_id: HAPI_NodeId,
4325        width: ::std::os::raw::c_int,
4326        height: ::std::os::raw::c_int,
4327        packing: ImagePacking,
4328        flip_x: HAPI_Bool,
4329        flip_y: HAPI_Bool,
4330        data_array: *const f32,
4331        start: ::std::os::raw::c_int,
4332        length: ::std::os::raw::c_int,
4333    ) -> HapiResult;
4334}
4335unsafe extern "C" {
4336    pub fn HAPI_SetAnimCurve(
4337        session: *const HAPI_Session,
4338        node_id: HAPI_NodeId,
4339        parm_id: HAPI_ParmId,
4340        parm_index: ::std::os::raw::c_int,
4341        curve_keyframes_array: *const HAPI_Keyframe,
4342        keyframe_count: ::std::os::raw::c_int,
4343    ) -> HapiResult;
4344}
4345unsafe extern "C" {
4346    pub fn HAPI_SetTransformAnimCurve(
4347        session: *const HAPI_Session,
4348        node_id: HAPI_NodeId,
4349        trans_comp: TransformComponent,
4350        curve_keyframes_array: *const HAPI_Keyframe,
4351        keyframe_count: ::std::os::raw::c_int,
4352    ) -> HapiResult;
4353}
4354unsafe extern "C" {
4355    pub fn HAPI_ResetSimulation(session: *const HAPI_Session, node_id: HAPI_NodeId) -> HapiResult;
4356}
4357unsafe extern "C" {
4358    pub fn HAPI_GetVolumeInfo(
4359        session: *const HAPI_Session,
4360        node_id: HAPI_NodeId,
4361        part_id: HAPI_PartId,
4362        volume_info: *mut HAPI_VolumeInfo,
4363    ) -> HapiResult;
4364}
4365unsafe extern "C" {
4366    pub fn HAPI_GetFirstVolumeTile(
4367        session: *const HAPI_Session,
4368        node_id: HAPI_NodeId,
4369        part_id: HAPI_PartId,
4370        tile: *mut HAPI_VolumeTileInfo,
4371    ) -> HapiResult;
4372}
4373unsafe extern "C" {
4374    pub fn HAPI_GetNextVolumeTile(
4375        session: *const HAPI_Session,
4376        node_id: HAPI_NodeId,
4377        part_id: HAPI_PartId,
4378        tile: *mut HAPI_VolumeTileInfo,
4379    ) -> HapiResult;
4380}
4381unsafe extern "C" {
4382    pub fn HAPI_GetVolumeVoxelFloatData(
4383        session: *const HAPI_Session,
4384        node_id: HAPI_NodeId,
4385        part_id: HAPI_PartId,
4386        x_index: ::std::os::raw::c_int,
4387        y_index: ::std::os::raw::c_int,
4388        z_index: ::std::os::raw::c_int,
4389        values_array: *mut f32,
4390        value_count: ::std::os::raw::c_int,
4391    ) -> HapiResult;
4392}
4393unsafe extern "C" {
4394    pub fn HAPI_GetVolumeTileFloatData(
4395        session: *const HAPI_Session,
4396        node_id: HAPI_NodeId,
4397        part_id: HAPI_PartId,
4398        fill_value: f32,
4399        tile: *const HAPI_VolumeTileInfo,
4400        values_array: *mut f32,
4401        length: ::std::os::raw::c_int,
4402    ) -> HapiResult;
4403}
4404unsafe extern "C" {
4405    pub fn HAPI_GetVolumeVoxelIntData(
4406        session: *const HAPI_Session,
4407        node_id: HAPI_NodeId,
4408        part_id: HAPI_PartId,
4409        x_index: ::std::os::raw::c_int,
4410        y_index: ::std::os::raw::c_int,
4411        z_index: ::std::os::raw::c_int,
4412        values_array: *mut ::std::os::raw::c_int,
4413        value_count: ::std::os::raw::c_int,
4414    ) -> HapiResult;
4415}
4416unsafe extern "C" {
4417    pub fn HAPI_GetVolumeTileIntData(
4418        session: *const HAPI_Session,
4419        node_id: HAPI_NodeId,
4420        part_id: HAPI_PartId,
4421        fill_value: ::std::os::raw::c_int,
4422        tile: *const HAPI_VolumeTileInfo,
4423        values_array: *mut ::std::os::raw::c_int,
4424        length: ::std::os::raw::c_int,
4425    ) -> HapiResult;
4426}
4427unsafe extern "C" {
4428    pub fn HAPI_GetHeightFieldData(
4429        session: *const HAPI_Session,
4430        node_id: HAPI_NodeId,
4431        part_id: HAPI_PartId,
4432        values_array: *mut f32,
4433        start: ::std::os::raw::c_int,
4434        length: ::std::os::raw::c_int,
4435    ) -> HapiResult;
4436}
4437unsafe extern "C" {
4438    pub fn HAPI_SetVolumeInfo(
4439        session: *const HAPI_Session,
4440        node_id: HAPI_NodeId,
4441        part_id: HAPI_PartId,
4442        volume_info: *const HAPI_VolumeInfo,
4443    ) -> HapiResult;
4444}
4445unsafe extern "C" {
4446    pub fn HAPI_SetVolumeTileFloatData(
4447        session: *const HAPI_Session,
4448        node_id: HAPI_NodeId,
4449        part_id: HAPI_PartId,
4450        tile: *const HAPI_VolumeTileInfo,
4451        values_array: *const f32,
4452        length: ::std::os::raw::c_int,
4453    ) -> HapiResult;
4454}
4455unsafe extern "C" {
4456    pub fn HAPI_SetVolumeTileIntData(
4457        session: *const HAPI_Session,
4458        node_id: HAPI_NodeId,
4459        part_id: HAPI_PartId,
4460        tile: *const HAPI_VolumeTileInfo,
4461        values_array: *const ::std::os::raw::c_int,
4462        length: ::std::os::raw::c_int,
4463    ) -> HapiResult;
4464}
4465unsafe extern "C" {
4466    pub fn HAPI_SetVolumeVoxelFloatData(
4467        session: *const HAPI_Session,
4468        node_id: HAPI_NodeId,
4469        part_id: HAPI_PartId,
4470        x_index: ::std::os::raw::c_int,
4471        y_index: ::std::os::raw::c_int,
4472        z_index: ::std::os::raw::c_int,
4473        values_array: *const f32,
4474        value_count: ::std::os::raw::c_int,
4475    ) -> HapiResult;
4476}
4477unsafe extern "C" {
4478    pub fn HAPI_SetVolumeVoxelIntData(
4479        session: *const HAPI_Session,
4480        node_id: HAPI_NodeId,
4481        part_id: HAPI_PartId,
4482        x_index: ::std::os::raw::c_int,
4483        y_index: ::std::os::raw::c_int,
4484        z_index: ::std::os::raw::c_int,
4485        values_array: *const ::std::os::raw::c_int,
4486        value_count: ::std::os::raw::c_int,
4487    ) -> HapiResult;
4488}
4489unsafe extern "C" {
4490    pub fn HAPI_GetVolumeBounds(
4491        session: *const HAPI_Session,
4492        node_id: HAPI_NodeId,
4493        part_id: HAPI_PartId,
4494        x_min: *mut f32,
4495        y_min: *mut f32,
4496        z_min: *mut f32,
4497        x_max: *mut f32,
4498        y_max: *mut f32,
4499        z_max: *mut f32,
4500        x_center: *mut f32,
4501        y_center: *mut f32,
4502        z_center: *mut f32,
4503    ) -> HapiResult;
4504}
4505unsafe extern "C" {
4506    pub fn HAPI_SetHeightFieldData(
4507        session: *const HAPI_Session,
4508        node_id: HAPI_NodeId,
4509        part_id: HAPI_PartId,
4510        name: *const ::std::os::raw::c_char,
4511        values_array: *const f32,
4512        start: ::std::os::raw::c_int,
4513        length: ::std::os::raw::c_int,
4514    ) -> HapiResult;
4515}
4516unsafe extern "C" {
4517    pub fn HAPI_GetVolumeVisualInfo(
4518        session: *const HAPI_Session,
4519        node_id: HAPI_NodeId,
4520        part_id: HAPI_PartId,
4521        visual_info: *mut HAPI_VolumeVisualInfo,
4522    ) -> HapiResult;
4523}
4524unsafe extern "C" {
4525    pub fn HAPI_GetCurveInfo(
4526        session: *const HAPI_Session,
4527        node_id: HAPI_NodeId,
4528        part_id: HAPI_PartId,
4529        info: *mut HAPI_CurveInfo,
4530    ) -> HapiResult;
4531}
4532unsafe extern "C" {
4533    pub fn HAPI_GetCurveCounts(
4534        session: *const HAPI_Session,
4535        node_id: HAPI_NodeId,
4536        part_id: HAPI_PartId,
4537        counts_array: *mut ::std::os::raw::c_int,
4538        start: ::std::os::raw::c_int,
4539        length: ::std::os::raw::c_int,
4540    ) -> HapiResult;
4541}
4542unsafe extern "C" {
4543    pub fn HAPI_GetCurveOrders(
4544        session: *const HAPI_Session,
4545        node_id: HAPI_NodeId,
4546        part_id: HAPI_PartId,
4547        orders_array: *mut ::std::os::raw::c_int,
4548        start: ::std::os::raw::c_int,
4549        length: ::std::os::raw::c_int,
4550    ) -> HapiResult;
4551}
4552unsafe extern "C" {
4553    pub fn HAPI_GetCurveKnots(
4554        session: *const HAPI_Session,
4555        node_id: HAPI_NodeId,
4556        part_id: HAPI_PartId,
4557        knots_array: *mut f32,
4558        start: ::std::os::raw::c_int,
4559        length: ::std::os::raw::c_int,
4560    ) -> HapiResult;
4561}
4562unsafe extern "C" {
4563    pub fn HAPI_SetCurveInfo(
4564        session: *const HAPI_Session,
4565        node_id: HAPI_NodeId,
4566        part_id: HAPI_PartId,
4567        info: *const HAPI_CurveInfo,
4568    ) -> HapiResult;
4569}
4570unsafe extern "C" {
4571    pub fn HAPI_SetCurveCounts(
4572        session: *const HAPI_Session,
4573        node_id: HAPI_NodeId,
4574        part_id: HAPI_PartId,
4575        counts_array: *const ::std::os::raw::c_int,
4576        start: ::std::os::raw::c_int,
4577        length: ::std::os::raw::c_int,
4578    ) -> HapiResult;
4579}
4580unsafe extern "C" {
4581    pub fn HAPI_SetCurveOrders(
4582        session: *const HAPI_Session,
4583        node_id: HAPI_NodeId,
4584        part_id: HAPI_PartId,
4585        orders_array: *const ::std::os::raw::c_int,
4586        start: ::std::os::raw::c_int,
4587        length: ::std::os::raw::c_int,
4588    ) -> HapiResult;
4589}
4590unsafe extern "C" {
4591    pub fn HAPI_SetCurveKnots(
4592        session: *const HAPI_Session,
4593        node_id: HAPI_NodeId,
4594        part_id: HAPI_PartId,
4595        knots_array: *const f32,
4596        start: ::std::os::raw::c_int,
4597        length: ::std::os::raw::c_int,
4598    ) -> HapiResult;
4599}
4600unsafe extern "C" {
4601    pub fn HAPI_GetInputCurveInfo(
4602        session: *const HAPI_Session,
4603        node_id: HAPI_NodeId,
4604        part_id: HAPI_PartId,
4605        info: *mut HAPI_InputCurveInfo,
4606    ) -> HapiResult;
4607}
4608unsafe extern "C" {
4609    pub fn HAPI_SetInputCurveInfo(
4610        session: *const HAPI_Session,
4611        node_id: HAPI_NodeId,
4612        part_id: HAPI_PartId,
4613        info: *const HAPI_InputCurveInfo,
4614    ) -> HapiResult;
4615}
4616unsafe extern "C" {
4617    pub fn HAPI_SetInputCurvePositions(
4618        session: *const HAPI_Session,
4619        node_id: HAPI_NodeId,
4620        part_id: HAPI_PartId,
4621        positions_array: *const f32,
4622        start: ::std::os::raw::c_int,
4623        length: ::std::os::raw::c_int,
4624    ) -> HapiResult;
4625}
4626unsafe extern "C" {
4627    pub fn HAPI_SetInputCurvePositionsRotationsScales(
4628        session: *const HAPI_Session,
4629        node_id: HAPI_NodeId,
4630        part_id: HAPI_PartId,
4631        positions_array: *const f32,
4632        positions_start: ::std::os::raw::c_int,
4633        positions_length: ::std::os::raw::c_int,
4634        rotations_array: *const f32,
4635        rotations_start: ::std::os::raw::c_int,
4636        rotations_length: ::std::os::raw::c_int,
4637        scales_array: *const f32,
4638        scales_start: ::std::os::raw::c_int,
4639        scales_length: ::std::os::raw::c_int,
4640    ) -> HapiResult;
4641}
4642unsafe extern "C" {
4643    pub fn HAPI_GetBoxInfo(
4644        session: *const HAPI_Session,
4645        geo_node_id: HAPI_NodeId,
4646        part_id: HAPI_PartId,
4647        box_info: *mut HAPI_BoxInfo,
4648    ) -> HapiResult;
4649}
4650unsafe extern "C" {
4651    pub fn HAPI_GetSphereInfo(
4652        session: *const HAPI_Session,
4653        geo_node_id: HAPI_NodeId,
4654        part_id: HAPI_PartId,
4655        sphere_info: *mut HAPI_SphereInfo,
4656    ) -> HapiResult;
4657}
4658unsafe extern "C" {
4659    pub fn HAPI_GetActiveCacheCount(
4660        session: *const HAPI_Session,
4661        active_cache_count: *mut ::std::os::raw::c_int,
4662    ) -> HapiResult;
4663}
4664unsafe extern "C" {
4665    pub fn HAPI_GetActiveCacheNames(
4666        session: *const HAPI_Session,
4667        cache_names_array: *mut HAPI_StringHandle,
4668        active_cache_count: ::std::os::raw::c_int,
4669    ) -> HapiResult;
4670}
4671unsafe extern "C" {
4672    pub fn HAPI_GetCacheProperty(
4673        session: *const HAPI_Session,
4674        cache_name: *const ::std::os::raw::c_char,
4675        cache_property: CacheProperty,
4676        property_value: *mut ::std::os::raw::c_int,
4677    ) -> HapiResult;
4678}
4679unsafe extern "C" {
4680    pub fn HAPI_SetCacheProperty(
4681        session: *const HAPI_Session,
4682        cache_name: *const ::std::os::raw::c_char,
4683        cache_property: CacheProperty,
4684        property_value: ::std::os::raw::c_int,
4685    ) -> HapiResult;
4686}
4687unsafe extern "C" {
4688    pub fn HAPI_SaveGeoToFile(
4689        session: *const HAPI_Session,
4690        node_id: HAPI_NodeId,
4691        file_name: *const ::std::os::raw::c_char,
4692    ) -> HapiResult;
4693}
4694unsafe extern "C" {
4695    pub fn HAPI_LoadGeoFromFile(
4696        session: *const HAPI_Session,
4697        node_id: HAPI_NodeId,
4698        file_name: *const ::std::os::raw::c_char,
4699    ) -> HapiResult;
4700}
4701unsafe extern "C" {
4702    pub fn HAPI_SaveNodeToFile(
4703        session: *const HAPI_Session,
4704        node_id: HAPI_NodeId,
4705        file_name: *const ::std::os::raw::c_char,
4706    ) -> HapiResult;
4707}
4708unsafe extern "C" {
4709    pub fn HAPI_LoadNodeFromFile(
4710        session: *const HAPI_Session,
4711        file_name: *const ::std::os::raw::c_char,
4712        parent_node_id: HAPI_NodeId,
4713        node_label: *const ::std::os::raw::c_char,
4714        cook_on_load: HAPI_Bool,
4715        new_node_id: *mut HAPI_NodeId,
4716    ) -> HapiResult;
4717}
4718unsafe extern "C" {
4719    pub fn HAPI_GetGeoSize(
4720        session: *const HAPI_Session,
4721        node_id: HAPI_NodeId,
4722        format: *const ::std::os::raw::c_char,
4723        size: *mut ::std::os::raw::c_int,
4724    ) -> HapiResult;
4725}
4726unsafe extern "C" {
4727    pub fn HAPI_SaveGeoToMemory(
4728        session: *const HAPI_Session,
4729        node_id: HAPI_NodeId,
4730        buffer: *mut ::std::os::raw::c_char,
4731        length: ::std::os::raw::c_int,
4732    ) -> HapiResult;
4733}
4734unsafe extern "C" {
4735    pub fn HAPI_LoadGeoFromMemory(
4736        session: *const HAPI_Session,
4737        node_id: HAPI_NodeId,
4738        format: *const ::std::os::raw::c_char,
4739        buffer: *const ::std::os::raw::c_char,
4740        length: ::std::os::raw::c_int,
4741    ) -> HapiResult;
4742}
4743unsafe extern "C" {
4744    pub fn HAPI_SetNodeDisplay(
4745        session: *const HAPI_Session,
4746        node_id: HAPI_NodeId,
4747        onOff: ::std::os::raw::c_int,
4748    ) -> HapiResult;
4749}
4750unsafe extern "C" {
4751    pub fn HAPI_GetTotalCookCount(
4752        session: *const HAPI_Session,
4753        node_id: HAPI_NodeId,
4754        node_type_filter: HAPI_NodeTypeBits,
4755        node_flags_filter: HAPI_NodeFlagsBits,
4756        recursive: HAPI_Bool,
4757        count: *mut ::std::os::raw::c_int,
4758    ) -> HapiResult;
4759}
4760unsafe extern "C" {
4761    pub fn HAPI_SetSessionSync(session: *const HAPI_Session, enable: HAPI_Bool) -> HapiResult;
4762}
4763unsafe extern "C" {
4764    pub fn HAPI_GetViewport(
4765        session: *const HAPI_Session,
4766        viewport: *mut HAPI_Viewport,
4767    ) -> HapiResult;
4768}
4769unsafe extern "C" {
4770    pub fn HAPI_SetViewport(
4771        session: *const HAPI_Session,
4772        viewport: *const HAPI_Viewport,
4773    ) -> HapiResult;
4774}
4775unsafe extern "C" {
4776    pub fn HAPI_GetSessionSyncInfo(
4777        session: *const HAPI_Session,
4778        session_sync_info: *mut HAPI_SessionSyncInfo,
4779    ) -> HapiResult;
4780}
4781unsafe extern "C" {
4782    pub fn HAPI_SetSessionSyncInfo(
4783        session: *const HAPI_Session,
4784        session_sync_info: *const HAPI_SessionSyncInfo,
4785    ) -> HapiResult;
4786}
4787unsafe extern "C" {
4788    pub fn HAPI_GetPDGGraphContexts(
4789        session: *const HAPI_Session,
4790        context_names_array: *mut HAPI_StringHandle,
4791        context_id_array: *mut HAPI_PDG_GraphContextId,
4792        start: ::std::os::raw::c_int,
4793        length: ::std::os::raw::c_int,
4794    ) -> HapiResult;
4795}
4796unsafe extern "C" {
4797    pub fn HAPI_GetPDGGraphContextsCount(
4798        session: *const HAPI_Session,
4799        num_contexts: *mut ::std::os::raw::c_int,
4800    ) -> HapiResult;
4801}
4802unsafe extern "C" {
4803    pub fn HAPI_GetPDGGraphContextId(
4804        session: *const HAPI_Session,
4805        top_node_id: HAPI_NodeId,
4806        context_id: *mut HAPI_PDG_GraphContextId,
4807    ) -> HapiResult;
4808}
4809unsafe extern "C" {
4810    pub fn HAPI_CookPDG(
4811        session: *const HAPI_Session,
4812        cook_node_id: HAPI_NodeId,
4813        generate_only: ::std::os::raw::c_int,
4814        blocking: ::std::os::raw::c_int,
4815    ) -> HapiResult;
4816}
4817unsafe extern "C" {
4818    pub fn HAPI_CookPDGAllOutputs(
4819        session: *const HAPI_Session,
4820        cook_node_id: HAPI_NodeId,
4821        generate_only: ::std::os::raw::c_int,
4822        blocking: ::std::os::raw::c_int,
4823    ) -> HapiResult;
4824}
4825unsafe extern "C" {
4826    pub fn HAPI_GetPDGEvents(
4827        session: *const HAPI_Session,
4828        graph_context_id: HAPI_PDG_GraphContextId,
4829        event_array: *mut HAPI_PDG_EventInfo,
4830        length: ::std::os::raw::c_int,
4831        event_count: *mut ::std::os::raw::c_int,
4832        remaining_events: *mut ::std::os::raw::c_int,
4833    ) -> HapiResult;
4834}
4835unsafe extern "C" {
4836    pub fn HAPI_GetPDGState(
4837        session: *const HAPI_Session,
4838        graph_context_id: HAPI_PDG_GraphContextId,
4839        pdg_state: *mut ::std::os::raw::c_int,
4840    ) -> HapiResult;
4841}
4842unsafe extern "C" {
4843    pub fn HAPI_CreateWorkitem(
4844        session: *const HAPI_Session,
4845        node_id: HAPI_NodeId,
4846        workitem_id: *mut HAPI_PDG_WorkItemId,
4847        name: *const ::std::os::raw::c_char,
4848        index: ::std::os::raw::c_int,
4849    ) -> HapiResult;
4850}
4851unsafe extern "C" {
4852    pub fn HAPI_GetWorkitemInfo(
4853        session: *const HAPI_Session,
4854        graph_context_id: HAPI_PDG_GraphContextId,
4855        workitem_id: HAPI_PDG_WorkItemId,
4856        workitem_info: *mut HAPI_PDG_WorkItemInfo,
4857    ) -> HapiResult;
4858}
4859unsafe extern "C" {
4860    pub fn HAPI_SetWorkitemIntData(
4861        session: *const HAPI_Session,
4862        node_id: HAPI_NodeId,
4863        workitem_id: HAPI_PDG_WorkItemId,
4864        data_name: *const ::std::os::raw::c_char,
4865        values_array: *const ::std::os::raw::c_int,
4866        length: ::std::os::raw::c_int,
4867    ) -> HapiResult;
4868}
4869unsafe extern "C" {
4870    pub fn HAPI_SetWorkitemFloatData(
4871        session: *const HAPI_Session,
4872        node_id: HAPI_NodeId,
4873        workitem_id: HAPI_PDG_WorkItemId,
4874        data_name: *const ::std::os::raw::c_char,
4875        values_array: *const f32,
4876        length: ::std::os::raw::c_int,
4877    ) -> HapiResult;
4878}
4879unsafe extern "C" {
4880    pub fn HAPI_SetWorkitemStringData(
4881        session: *const HAPI_Session,
4882        node_id: HAPI_NodeId,
4883        workitem_id: HAPI_PDG_WorkItemId,
4884        data_name: *const ::std::os::raw::c_char,
4885        data_index: ::std::os::raw::c_int,
4886        value: *const ::std::os::raw::c_char,
4887    ) -> HapiResult;
4888}
4889unsafe extern "C" {
4890    pub fn HAPI_CommitWorkitems(session: *const HAPI_Session, node_id: HAPI_NodeId) -> HapiResult;
4891}
4892unsafe extern "C" {
4893    pub fn HAPI_GetNumWorkitems(
4894        session: *const HAPI_Session,
4895        node_id: HAPI_NodeId,
4896        num: *mut ::std::os::raw::c_int,
4897    ) -> HapiResult;
4898}
4899unsafe extern "C" {
4900    pub fn HAPI_GetWorkitems(
4901        session: *const HAPI_Session,
4902        node_id: HAPI_NodeId,
4903        workitem_ids_array: *mut ::std::os::raw::c_int,
4904        length: ::std::os::raw::c_int,
4905    ) -> HapiResult;
4906}
4907unsafe extern "C" {
4908    pub fn HAPI_GetWorkitemDataLength(
4909        session: *const HAPI_Session,
4910        node_id: HAPI_NodeId,
4911        workitem_id: HAPI_PDG_WorkItemId,
4912        data_name: *const ::std::os::raw::c_char,
4913        length: *mut ::std::os::raw::c_int,
4914    ) -> HapiResult;
4915}
4916unsafe extern "C" {
4917    pub fn HAPI_GetWorkitemIntData(
4918        session: *const HAPI_Session,
4919        node_id: HAPI_NodeId,
4920        workitem_id: HAPI_PDG_WorkItemId,
4921        data_name: *const ::std::os::raw::c_char,
4922        data_array: *mut ::std::os::raw::c_int,
4923        length: ::std::os::raw::c_int,
4924    ) -> HapiResult;
4925}
4926unsafe extern "C" {
4927    pub fn HAPI_GetWorkitemFloatData(
4928        session: *const HAPI_Session,
4929        node_id: HAPI_NodeId,
4930        workitem_id: HAPI_PDG_WorkItemId,
4931        data_name: *const ::std::os::raw::c_char,
4932        data_array: *mut f32,
4933        length: ::std::os::raw::c_int,
4934    ) -> HapiResult;
4935}
4936unsafe extern "C" {
4937    pub fn HAPI_GetWorkitemStringData(
4938        session: *const HAPI_Session,
4939        node_id: HAPI_NodeId,
4940        workitem_id: HAPI_PDG_WorkItemId,
4941        data_name: *const ::std::os::raw::c_char,
4942        data_array: *mut HAPI_StringHandle,
4943        length: ::std::os::raw::c_int,
4944    ) -> HapiResult;
4945}
4946unsafe extern "C" {
4947    pub fn HAPI_GetWorkitemResultInfo(
4948        session: *const HAPI_Session,
4949        node_id: HAPI_NodeId,
4950        workitem_id: HAPI_PDG_WorkItemId,
4951        resultinfo_array: *mut HAPI_PDG_WorkItemOutputFile,
4952        resultinfo_count: ::std::os::raw::c_int,
4953    ) -> HapiResult;
4954}
4955unsafe extern "C" {
4956    pub fn HAPI_CreateWorkItem(
4957        session: *const HAPI_Session,
4958        node_id: HAPI_NodeId,
4959        work_item_id: *mut HAPI_PDG_WorkItemId,
4960        name: *const ::std::os::raw::c_char,
4961        index: ::std::os::raw::c_int,
4962    ) -> HapiResult;
4963}
4964unsafe extern "C" {
4965    pub fn HAPI_GetWorkItemInfo(
4966        session: *const HAPI_Session,
4967        graph_context_id: HAPI_PDG_GraphContextId,
4968        work_item_id: HAPI_PDG_WorkItemId,
4969        work_item_info: *mut HAPI_PDG_WorkItemInfo,
4970    ) -> HapiResult;
4971}
4972unsafe extern "C" {
4973    pub fn HAPI_SetWorkItemIntAttribute(
4974        session: *const HAPI_Session,
4975        node_id: HAPI_NodeId,
4976        work_item_id: HAPI_PDG_WorkItemId,
4977        attribute_name: *const ::std::os::raw::c_char,
4978        values_array: *const ::std::os::raw::c_int,
4979        length: ::std::os::raw::c_int,
4980    ) -> HapiResult;
4981}
4982unsafe extern "C" {
4983    pub fn HAPI_SetWorkItemFloatAttribute(
4984        session: *const HAPI_Session,
4985        node_id: HAPI_NodeId,
4986        work_item_id: HAPI_PDG_WorkItemId,
4987        attribute_name: *const ::std::os::raw::c_char,
4988        values_array: *const f32,
4989        length: ::std::os::raw::c_int,
4990    ) -> HapiResult;
4991}
4992unsafe extern "C" {
4993    pub fn HAPI_SetWorkItemStringAttribute(
4994        session: *const HAPI_Session,
4995        node_id: HAPI_NodeId,
4996        work_item_id: HAPI_PDG_WorkItemId,
4997        attribute_name: *const ::std::os::raw::c_char,
4998        data_index: ::std::os::raw::c_int,
4999        value: *const ::std::os::raw::c_char,
5000    ) -> HapiResult;
5001}
5002unsafe extern "C" {
5003    pub fn HAPI_CommitWorkItems(session: *const HAPI_Session, node_id: HAPI_NodeId) -> HapiResult;
5004}
5005unsafe extern "C" {
5006    pub fn HAPI_GetNumWorkItems(
5007        session: *const HAPI_Session,
5008        node_id: HAPI_NodeId,
5009        num: *mut ::std::os::raw::c_int,
5010    ) -> HapiResult;
5011}
5012unsafe extern "C" {
5013    pub fn HAPI_GetWorkItems(
5014        session: *const HAPI_Session,
5015        node_id: HAPI_NodeId,
5016        work_item_ids_array: *mut ::std::os::raw::c_int,
5017        length: ::std::os::raw::c_int,
5018    ) -> HapiResult;
5019}
5020unsafe extern "C" {
5021    pub fn HAPI_GetWorkItemAttributeSize(
5022        session: *const HAPI_Session,
5023        node_id: HAPI_NodeId,
5024        work_item_id: HAPI_PDG_WorkItemId,
5025        attribute_name: *const ::std::os::raw::c_char,
5026        length: *mut ::std::os::raw::c_int,
5027    ) -> HapiResult;
5028}
5029unsafe extern "C" {
5030    pub fn HAPI_GetWorkItemIntAttribute(
5031        session: *const HAPI_Session,
5032        node_id: HAPI_NodeId,
5033        work_item_id: HAPI_PDG_WorkItemId,
5034        attribute_name: *const ::std::os::raw::c_char,
5035        data_array: *mut ::std::os::raw::c_int,
5036        length: ::std::os::raw::c_int,
5037    ) -> HapiResult;
5038}
5039unsafe extern "C" {
5040    pub fn HAPI_GetWorkItemFloatAttribute(
5041        session: *const HAPI_Session,
5042        node_id: HAPI_NodeId,
5043        work_item_id: HAPI_PDG_WorkItemId,
5044        attribute_name: *const ::std::os::raw::c_char,
5045        data_array: *mut f32,
5046        length: ::std::os::raw::c_int,
5047    ) -> HapiResult;
5048}
5049unsafe extern "C" {
5050    pub fn HAPI_GetWorkItemStringAttribute(
5051        session: *const HAPI_Session,
5052        node_id: HAPI_NodeId,
5053        work_item_id: HAPI_PDG_WorkItemId,
5054        attribute_name: *const ::std::os::raw::c_char,
5055        data_array: *mut HAPI_StringHandle,
5056        length: ::std::os::raw::c_int,
5057    ) -> HapiResult;
5058}
5059unsafe extern "C" {
5060    pub fn HAPI_GetWorkItemOutputFiles(
5061        session: *const HAPI_Session,
5062        node_id: HAPI_NodeId,
5063        work_item_id: HAPI_PDG_WorkItemId,
5064        resultinfo_array: *mut HAPI_PDG_WorkItemOutputFile,
5065        resultinfo_count: ::std::os::raw::c_int,
5066    ) -> HapiResult;
5067}
5068unsafe extern "C" {
5069    pub fn HAPI_DirtyPDGNode(
5070        session: *const HAPI_Session,
5071        node_id: HAPI_NodeId,
5072        clean_results: HAPI_Bool,
5073    ) -> HapiResult;
5074}
5075unsafe extern "C" {
5076    pub fn HAPI_PausePDGCook(
5077        session: *const HAPI_Session,
5078        graph_context_id: HAPI_PDG_GraphContextId,
5079    ) -> HapiResult;
5080}
5081unsafe extern "C" {
5082    pub fn HAPI_CancelPDGCook(
5083        session: *const HAPI_Session,
5084        graph_context_id: HAPI_PDG_GraphContextId,
5085    ) -> HapiResult;
5086}