hapi_rs/ffi/
bindings.rs

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