1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
/* automatically generated by rust-bindgen 0.55.1 */

pub const NSI_SCENE_ROOT: &'static [u8; 6usize] = b".root\0";
pub const NSI_SCENE_GLOBAL: &'static [u8; 8usize] = b".global\0";
pub const NSI_ALL_NODES: &'static [u8; 5usize] = b".all\0";
pub const NSI_ALL_ATTRIBUTES: &'static [u8; 5usize] = b".all\0";
pub const NSI_VERSION: u32 = 2;
pub type size_t = ::std::os::raw::c_uint;
pub type NSIContext_t = ::std::os::raw::c_int;
pub type NSIHandle_t = *const ::std::os::raw::c_char;
pub const NSIType_t_NSITypeInvalid: NSIType_t = 0;
pub const NSIType_t_NSITypeFloat: NSIType_t = 1;
pub const NSIType_t_NSITypeDouble: NSIType_t = 17;
pub const NSIType_t_NSITypeInteger: NSIType_t = 2;
pub const NSIType_t_NSITypeString: NSIType_t = 3;
pub const NSIType_t_NSITypeColor: NSIType_t = 4;
pub const NSIType_t_NSITypePoint: NSIType_t = 5;
pub const NSIType_t_NSITypeVector: NSIType_t = 6;
pub const NSIType_t_NSITypeNormal: NSIType_t = 7;
pub const NSIType_t_NSITypeMatrix: NSIType_t = 8;
pub const NSIType_t_NSITypeDoubleMatrix: NSIType_t = 24;
pub const NSIType_t_NSITypePointer: NSIType_t = 9;
pub type NSIType_t = ::std::os::raw::c_int;
pub const NSIParamIsArray: ::std::os::raw::c_int = 1;
pub const NSIParamPerFace: ::std::os::raw::c_int = 2;
pub const NSIParamPerVertex: ::std::os::raw::c_int = 4;
pub const NSIParamInterpolateLinear: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_1 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct NSIParam_t {
    pub name: *const ::std::os::raw::c_char,
    pub data: *const ::std::os::raw::c_void,
    pub type_: ::std::os::raw::c_int,
    pub arraylength: ::std::os::raw::c_int,
    pub count: size_t,
    pub flags: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_NSIParam_t() {
    assert_eq!(
        ::std::mem::size_of::<NSIParam_t>(),
        24usize,
        concat!("Size of: ", stringify!(NSIParam_t))
    );
    assert_eq!(
        ::std::mem::align_of::<NSIParam_t>(),
        4usize,
        concat!("Alignment of ", stringify!(NSIParam_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIParam_t>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIParam_t),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIParam_t>())).data as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIParam_t),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIParam_t>())).type_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIParam_t),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIParam_t>())).arraylength as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIParam_t),
            "::",
            stringify!(arraylength)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIParam_t>())).count as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIParam_t),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIParam_t>())).flags as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIParam_t),
            "::",
            stringify!(flags)
        )
    );
}
pub const NSIStoppingStatus_NSIRenderCompleted: NSIStoppingStatus = 0;
pub const NSIStoppingStatus_NSIRenderAborted: NSIStoppingStatus = 1;
pub const NSIStoppingStatus_NSIRenderSynchronized: NSIStoppingStatus = 2;
pub const NSIStoppingStatus_NSIRenderRestarted: NSIStoppingStatus = 3;
pub type NSIStoppingStatus = ::std::os::raw::c_int;
pub const NSIErrorLevel_NSIErrMessage: NSIErrorLevel = 0;
pub const NSIErrorLevel_NSIErrInfo: NSIErrorLevel = 1;
pub const NSIErrorLevel_NSIErrWarning: NSIErrorLevel = 2;
pub const NSIErrorLevel_NSIErrError: NSIErrorLevel = 3;
pub type NSIErrorLevel = ::std::os::raw::c_int;
pub type NSIErrorHandler_t = ::std::option::Option<
    unsafe extern "C" fn(
        userdata: *mut ::std::os::raw::c_void,
        level: ::std::os::raw::c_int,
        code: ::std::os::raw::c_int,
        message: *const ::std::os::raw::c_char,
    ),
>;
pub type NSIRenderStopped_t = ::std::option::Option<
    unsafe extern "C" fn(
        userdata: *mut ::std::os::raw::c_void,
        ctx: NSIContext_t,
        status: ::std::os::raw::c_int,
    ),
>;
extern "C" {
    pub fn NSIBegin(nparams: ::std::os::raw::c_int, params: *const NSIParam_t) -> NSIContext_t;
}
extern "C" {
    pub fn NSIEnd(ctx: NSIContext_t);
}
extern "C" {
    pub fn NSICreate(
        ctx: NSIContext_t,
        handle: NSIHandle_t,
        type_: *const ::std::os::raw::c_char,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    );
}
extern "C" {
    pub fn NSIDelete(
        ctx: NSIContext_t,
        handle: NSIHandle_t,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    );
}
extern "C" {
    pub fn NSISetAttribute(
        ctx: NSIContext_t,
        object: NSIHandle_t,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    );
}
extern "C" {
    pub fn NSISetAttributeAtTime(
        ctx: NSIContext_t,
        object: NSIHandle_t,
        time: f64,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    );
}
extern "C" {
    pub fn NSIDeleteAttribute(
        ctx: NSIContext_t,
        object: NSIHandle_t,
        name: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn NSIConnect(
        ctx: NSIContext_t,
        from: NSIHandle_t,
        from_attr: *const ::std::os::raw::c_char,
        to: NSIHandle_t,
        to_attr: *const ::std::os::raw::c_char,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    );
}
extern "C" {
    pub fn NSIDisconnect(
        ctx: NSIContext_t,
        from: NSIHandle_t,
        from_attr: *const ::std::os::raw::c_char,
        to: NSIHandle_t,
        to_attr: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn NSIEvaluate(
        ctx: NSIContext_t,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    );
}
extern "C" {
    pub fn NSIRenderControl(
        ctx: NSIContext_t,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    );
}
pub type NSIReport_t = ::std::option::Option<
    unsafe extern "C" fn(
        ctx: NSIContext_t,
        level: ::std::os::raw::c_int,
        message: *const ::std::os::raw::c_char,
    ),
>;
pub type NSIProceduralUnload_t = ::std::option::Option<
    unsafe extern "C" fn(ctx: NSIContext_t, report: NSIReport_t, proc_: *mut NSIProcedural_t),
>;
pub type NSIProceduralExecute_t = ::std::option::Option<
    unsafe extern "C" fn(
        ctx: NSIContext_t,
        report: NSIReport_t,
        proc_: *mut NSIProcedural_t,
        nparams: ::std::os::raw::c_int,
        params: *const NSIParam_t,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct NSIProcedural_t {
    pub nsi_version: ::std::os::raw::c_uint,
    pub unload: NSIProceduralUnload_t,
    pub execute: NSIProceduralExecute_t,
}
#[test]
fn bindgen_test_layout_NSIProcedural_t() {
    assert_eq!(
        ::std::mem::size_of::<NSIProcedural_t>(),
        12usize,
        concat!("Size of: ", stringify!(NSIProcedural_t))
    );
    assert_eq!(
        ::std::mem::align_of::<NSIProcedural_t>(),
        4usize,
        concat!("Alignment of ", stringify!(NSIProcedural_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIProcedural_t>())).nsi_version as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIProcedural_t),
            "::",
            stringify!(nsi_version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIProcedural_t>())).unload as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIProcedural_t),
            "::",
            stringify!(unload)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NSIProcedural_t>())).execute as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(NSIProcedural_t),
            "::",
            stringify!(execute)
        )
    );
}
pub type NSIProceduralLoad_t = ::std::option::Option<
    unsafe extern "C" fn(
        ctx: NSIContext_t,
        report: NSIReport_t,
        nsi_library_path: *const ::std::os::raw::c_char,
        renderer_version: *const ::std::os::raw::c_char,
    ) -> *mut NSIProcedural_t,
>;