hapi_rs/ffi/
bindings.rs

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