hapi_rs/ffi/
bindings.rs

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