tensorflow_sys_runtime/
c_api.rs

1include!("runtime.rs");
2link! {
3/* automatically generated by rust-bindgen 0.59.2 */
4
5extern "C" {
6    pub fn TF_DataTypeSize(dt: TF_DataType) -> usize;
7}
8extern "C" {
9    pub fn TF_NewStatus() -> *mut TF_Status;
10}
11extern "C" {
12    pub fn TF_DeleteStatus(arg1: *mut TF_Status);
13}
14extern "C" {
15    pub fn TF_SetStatus(s: *mut TF_Status, code: TF_Code, msg: *const ::std::os::raw::c_char);
16}
17extern "C" {
18    pub fn TF_SetPayload(
19        s: *mut TF_Status,
20        key: *const ::std::os::raw::c_char,
21        value: *const ::std::os::raw::c_char,
22    );
23}
24extern "C" {
25    pub fn TF_SetStatusFromIOError(
26        s: *mut TF_Status,
27        error_code: ::std::os::raw::c_int,
28        context: *const ::std::os::raw::c_char,
29    );
30}
31extern "C" {
32    pub fn TF_GetCode(s: *const TF_Status) -> TF_Code;
33}
34extern "C" {
35    pub fn TF_Message(s: *const TF_Status) -> *const ::std::os::raw::c_char;
36}
37extern "C" {
38    pub fn TF_NewTensor(
39        arg1: TF_DataType,
40        dims: *const i64,
41        num_dims: ::std::os::raw::c_int,
42        data: *mut ::std::os::raw::c_void,
43        len: usize,
44        deallocator: ::std::option::Option<
45            unsafe extern "C" fn(
46                data: *mut ::std::os::raw::c_void,
47                len: usize,
48                arg: *mut ::std::os::raw::c_void,
49            ),
50        >,
51        deallocator_arg: *mut ::std::os::raw::c_void,
52    ) -> *mut TF_Tensor;
53}
54extern "C" {
55    pub fn TF_AllocateTensor(
56        arg1: TF_DataType,
57        dims: *const i64,
58        num_dims: ::std::os::raw::c_int,
59        len: usize,
60    ) -> *mut TF_Tensor;
61}
62extern "C" {
63    pub fn TF_TensorMaybeMove(tensor: *mut TF_Tensor) -> *mut TF_Tensor;
64}
65extern "C" {
66    pub fn TF_DeleteTensor(arg1: *mut TF_Tensor);
67}
68extern "C" {
69    pub fn TF_TensorType(arg1: *const TF_Tensor) -> TF_DataType;
70}
71extern "C" {
72    pub fn TF_NumDims(arg1: *const TF_Tensor) -> ::std::os::raw::c_int;
73}
74extern "C" {
75    pub fn TF_Dim(tensor: *const TF_Tensor, dim_index: ::std::os::raw::c_int) -> i64;
76}
77extern "C" {
78    pub fn TF_TensorByteSize(arg1: *const TF_Tensor) -> usize;
79}
80extern "C" {
81    pub fn TF_TensorData(arg1: *const TF_Tensor) -> *mut ::std::os::raw::c_void;
82}
83extern "C" {
84    pub fn TF_TensorElementCount(tensor: *const TF_Tensor) -> i64;
85}
86extern "C" {
87    pub fn TF_TensorBitcastFrom(
88        from: *const TF_Tensor,
89        type_: TF_DataType,
90        to: *mut TF_Tensor,
91        new_dims: *const i64,
92        num_new_dims: ::std::os::raw::c_int,
93        status: *mut TF_Status,
94    );
95}
96extern "C" {
97    pub fn TF_TensorIsAligned(arg1: *const TF_Tensor) -> bool;
98}
99extern "C" {
100    pub fn TF_StringInit(t: *mut TF_TString);
101}
102extern "C" {
103    pub fn TF_StringCopy(dst: *mut TF_TString, src: *const ::std::os::raw::c_char, size: usize);
104}
105extern "C" {
106    pub fn TF_StringAssignView(
107        dst: *mut TF_TString,
108        src: *const ::std::os::raw::c_char,
109        size: usize,
110    );
111}
112extern "C" {
113    pub fn TF_StringGetDataPointer(tstr: *const TF_TString) -> *const ::std::os::raw::c_char;
114}
115extern "C" {
116    pub fn TF_StringGetType(str_: *const TF_TString) -> TF_TString_Type;
117}
118extern "C" {
119    pub fn TF_StringGetSize(tstr: *const TF_TString) -> usize;
120}
121extern "C" {
122    pub fn TF_StringGetCapacity(str_: *const TF_TString) -> usize;
123}
124extern "C" {
125    pub fn TF_StringDealloc(tstr: *mut TF_TString);
126}
127extern "C" {
128    pub fn TF_Version() -> *const ::std::os::raw::c_char;
129}
130extern "C" {
131    pub fn TF_NewBufferFromString(
132        proto: *const ::std::os::raw::c_void,
133        proto_len: usize,
134    ) -> *mut TF_Buffer;
135}
136extern "C" {
137    pub fn TF_NewBuffer() -> *mut TF_Buffer;
138}
139extern "C" {
140    pub fn TF_DeleteBuffer(arg1: *mut TF_Buffer);
141}
142extern "C" {
143    pub fn TF_GetBuffer(buffer: *mut TF_Buffer) -> TF_Buffer;
144}
145extern "C" {
146    pub fn TF_TensorFromProto(from: *const TF_Buffer, to: *mut TF_Tensor, status: *mut TF_Status);
147}
148extern "C" {
149    pub fn TF_NewSessionOptions() -> *mut TF_SessionOptions;
150}
151extern "C" {
152    pub fn TF_SetTarget(options: *mut TF_SessionOptions, target: *const ::std::os::raw::c_char);
153}
154extern "C" {
155    pub fn TF_SetConfig(
156        options: *mut TF_SessionOptions,
157        proto: *const ::std::os::raw::c_void,
158        proto_len: usize,
159        status: *mut TF_Status,
160    );
161}
162extern "C" {
163    pub fn TF_DeleteSessionOptions(arg1: *mut TF_SessionOptions);
164}
165extern "C" {
166    pub fn TF_NewGraph() -> *mut TF_Graph;
167}
168extern "C" {
169    pub fn TF_DeleteGraph(arg1: *mut TF_Graph);
170}
171extern "C" {
172    pub fn TF_GraphSetTensorShape(
173        graph: *mut TF_Graph,
174        output: TF_Output,
175        dims: *const i64,
176        num_dims: ::std::os::raw::c_int,
177        status: *mut TF_Status,
178    );
179}
180extern "C" {
181    pub fn TF_GraphGetTensorNumDims(
182        graph: *mut TF_Graph,
183        output: TF_Output,
184        status: *mut TF_Status,
185    ) -> ::std::os::raw::c_int;
186}
187extern "C" {
188    pub fn TF_GraphGetTensorShape(
189        graph: *mut TF_Graph,
190        output: TF_Output,
191        dims: *mut i64,
192        num_dims: ::std::os::raw::c_int,
193        status: *mut TF_Status,
194    );
195}
196extern "C" {
197    pub fn TF_NewOperationLocked(
198        graph: *mut TF_Graph,
199        op_type: *const ::std::os::raw::c_char,
200        oper_name: *const ::std::os::raw::c_char,
201    ) -> *mut TF_OperationDescription;
202}
203extern "C" {
204    pub fn TF_NewOperation(
205        graph: *mut TF_Graph,
206        op_type: *const ::std::os::raw::c_char,
207        oper_name: *const ::std::os::raw::c_char,
208    ) -> *mut TF_OperationDescription;
209}
210extern "C" {
211    pub fn TF_SetDevice(desc: *mut TF_OperationDescription, device: *const ::std::os::raw::c_char);
212}
213extern "C" {
214    pub fn TF_AddInput(desc: *mut TF_OperationDescription, input: TF_Output);
215}
216extern "C" {
217    pub fn TF_AddInputList(
218        desc: *mut TF_OperationDescription,
219        inputs: *const TF_Output,
220        num_inputs: ::std::os::raw::c_int,
221    );
222}
223extern "C" {
224    pub fn TF_AddControlInput(desc: *mut TF_OperationDescription, input: *mut TF_Operation);
225}
226extern "C" {
227    pub fn TF_ColocateWith(desc: *mut TF_OperationDescription, op: *mut TF_Operation);
228}
229extern "C" {
230    pub fn TF_SetAttrString(
231        desc: *mut TF_OperationDescription,
232        attr_name: *const ::std::os::raw::c_char,
233        value: *const ::std::os::raw::c_void,
234        length: usize,
235    );
236}
237extern "C" {
238    pub fn TF_SetAttrStringList(
239        desc: *mut TF_OperationDescription,
240        attr_name: *const ::std::os::raw::c_char,
241        values: *const *const ::std::os::raw::c_void,
242        lengths: *const usize,
243        num_values: ::std::os::raw::c_int,
244    );
245}
246extern "C" {
247    pub fn TF_SetAttrInt(
248        desc: *mut TF_OperationDescription,
249        attr_name: *const ::std::os::raw::c_char,
250        value: i64,
251    );
252}
253extern "C" {
254    pub fn TF_SetAttrIntList(
255        desc: *mut TF_OperationDescription,
256        attr_name: *const ::std::os::raw::c_char,
257        values: *const i64,
258        num_values: ::std::os::raw::c_int,
259    );
260}
261extern "C" {
262    pub fn TF_SetAttrFloat(
263        desc: *mut TF_OperationDescription,
264        attr_name: *const ::std::os::raw::c_char,
265        value: f32,
266    );
267}
268extern "C" {
269    pub fn TF_SetAttrFloatList(
270        desc: *mut TF_OperationDescription,
271        attr_name: *const ::std::os::raw::c_char,
272        values: *const f32,
273        num_values: ::std::os::raw::c_int,
274    );
275}
276extern "C" {
277    pub fn TF_SetAttrBool(
278        desc: *mut TF_OperationDescription,
279        attr_name: *const ::std::os::raw::c_char,
280        value: ::std::os::raw::c_uchar,
281    );
282}
283extern "C" {
284    pub fn TF_SetAttrBoolList(
285        desc: *mut TF_OperationDescription,
286        attr_name: *const ::std::os::raw::c_char,
287        values: *const ::std::os::raw::c_uchar,
288        num_values: ::std::os::raw::c_int,
289    );
290}
291extern "C" {
292    pub fn TF_SetAttrType(
293        desc: *mut TF_OperationDescription,
294        attr_name: *const ::std::os::raw::c_char,
295        value: TF_DataType,
296    );
297}
298extern "C" {
299    pub fn TF_SetAttrTypeList(
300        desc: *mut TF_OperationDescription,
301        attr_name: *const ::std::os::raw::c_char,
302        values: *const TF_DataType,
303        num_values: ::std::os::raw::c_int,
304    );
305}
306extern "C" {
307    pub fn TF_SetAttrPlaceholder(
308        desc: *mut TF_OperationDescription,
309        attr_name: *const ::std::os::raw::c_char,
310        placeholder: *const ::std::os::raw::c_char,
311    );
312}
313extern "C" {
314    pub fn TF_SetAttrFuncName(
315        desc: *mut TF_OperationDescription,
316        attr_name: *const ::std::os::raw::c_char,
317        value: *const ::std::os::raw::c_char,
318        length: usize,
319    );
320}
321extern "C" {
322    pub fn TF_SetAttrShape(
323        desc: *mut TF_OperationDescription,
324        attr_name: *const ::std::os::raw::c_char,
325        dims: *const i64,
326        num_dims: ::std::os::raw::c_int,
327    );
328}
329extern "C" {
330    pub fn TF_SetAttrShapeList(
331        desc: *mut TF_OperationDescription,
332        attr_name: *const ::std::os::raw::c_char,
333        dims: *const *const i64,
334        num_dims: *const ::std::os::raw::c_int,
335        num_shapes: ::std::os::raw::c_int,
336    );
337}
338extern "C" {
339    pub fn TF_SetAttrTensorShapeProto(
340        desc: *mut TF_OperationDescription,
341        attr_name: *const ::std::os::raw::c_char,
342        proto: *const ::std::os::raw::c_void,
343        proto_len: usize,
344        status: *mut TF_Status,
345    );
346}
347extern "C" {
348    pub fn TF_SetAttrTensorShapeProtoList(
349        desc: *mut TF_OperationDescription,
350        attr_name: *const ::std::os::raw::c_char,
351        protos: *const *const ::std::os::raw::c_void,
352        proto_lens: *const usize,
353        num_shapes: ::std::os::raw::c_int,
354        status: *mut TF_Status,
355    );
356}
357extern "C" {
358    pub fn TF_SetAttrTensor(
359        desc: *mut TF_OperationDescription,
360        attr_name: *const ::std::os::raw::c_char,
361        value: *mut TF_Tensor,
362        status: *mut TF_Status,
363    );
364}
365extern "C" {
366    pub fn TF_SetAttrTensorList(
367        desc: *mut TF_OperationDescription,
368        attr_name: *const ::std::os::raw::c_char,
369        values: *const *mut TF_Tensor,
370        num_values: ::std::os::raw::c_int,
371        status: *mut TF_Status,
372    );
373}
374extern "C" {
375    pub fn TF_SetAttrValueProto(
376        desc: *mut TF_OperationDescription,
377        attr_name: *const ::std::os::raw::c_char,
378        proto: *const ::std::os::raw::c_void,
379        proto_len: usize,
380        status: *mut TF_Status,
381    );
382}
383extern "C" {
384    pub fn TF_FinishOperationLocked(
385        desc: *mut TF_OperationDescription,
386        status: *mut TF_Status,
387    ) -> *mut TF_Operation;
388}
389extern "C" {
390    pub fn TF_FinishOperation(
391        desc: *mut TF_OperationDescription,
392        status: *mut TF_Status,
393    ) -> *mut TF_Operation;
394}
395extern "C" {
396    pub fn TF_OperationName(oper: *mut TF_Operation) -> *const ::std::os::raw::c_char;
397}
398extern "C" {
399    pub fn TF_OperationOpType(oper: *mut TF_Operation) -> *const ::std::os::raw::c_char;
400}
401extern "C" {
402    pub fn TF_OperationDevice(oper: *mut TF_Operation) -> *const ::std::os::raw::c_char;
403}
404extern "C" {
405    pub fn TF_OperationNumOutputs(oper: *mut TF_Operation) -> ::std::os::raw::c_int;
406}
407extern "C" {
408    pub fn TF_OperationOutputType(oper_out: TF_Output) -> TF_DataType;
409}
410extern "C" {
411    pub fn TF_OperationOutputListLength(
412        oper: *mut TF_Operation,
413        arg_name: *const ::std::os::raw::c_char,
414        status: *mut TF_Status,
415    ) -> ::std::os::raw::c_int;
416}
417extern "C" {
418    pub fn TF_OperationNumInputs(oper: *mut TF_Operation) -> ::std::os::raw::c_int;
419}
420extern "C" {
421    pub fn TF_OperationInputType(oper_in: TF_Input) -> TF_DataType;
422}
423extern "C" {
424    pub fn TF_OperationInputListLength(
425        oper: *mut TF_Operation,
426        arg_name: *const ::std::os::raw::c_char,
427        status: *mut TF_Status,
428    ) -> ::std::os::raw::c_int;
429}
430extern "C" {
431    pub fn TF_OperationInput(oper_in: TF_Input) -> TF_Output;
432}
433extern "C" {
434    pub fn TF_OperationAllInputs(
435        oper: *mut TF_Operation,
436        inputs: *mut TF_Output,
437        max_inputs: ::std::os::raw::c_int,
438    );
439}
440extern "C" {
441    pub fn TF_OperationOutputNumConsumers(oper_out: TF_Output) -> ::std::os::raw::c_int;
442}
443extern "C" {
444    pub fn TF_OperationOutputConsumers(
445        oper_out: TF_Output,
446        consumers: *mut TF_Input,
447        max_consumers: ::std::os::raw::c_int,
448    ) -> ::std::os::raw::c_int;
449}
450extern "C" {
451    pub fn TF_OperationNumControlInputs(oper: *mut TF_Operation) -> ::std::os::raw::c_int;
452}
453extern "C" {
454    pub fn TF_OperationGetControlInputs(
455        oper: *mut TF_Operation,
456        control_inputs: *mut *mut TF_Operation,
457        max_control_inputs: ::std::os::raw::c_int,
458    ) -> ::std::os::raw::c_int;
459}
460extern "C" {
461    pub fn TF_OperationNumControlOutputs(oper: *mut TF_Operation) -> ::std::os::raw::c_int;
462}
463extern "C" {
464    pub fn TF_OperationGetControlOutputs(
465        oper: *mut TF_Operation,
466        control_outputs: *mut *mut TF_Operation,
467        max_control_outputs: ::std::os::raw::c_int,
468    ) -> ::std::os::raw::c_int;
469}
470extern "C" {
471    pub fn TF_OperationGetAttrMetadata(
472        oper: *mut TF_Operation,
473        attr_name: *const ::std::os::raw::c_char,
474        status: *mut TF_Status,
475    ) -> TF_AttrMetadata;
476}
477extern "C" {
478    pub fn TF_OperationGetAttrString(
479        oper: *mut TF_Operation,
480        attr_name: *const ::std::os::raw::c_char,
481        value: *mut ::std::os::raw::c_void,
482        max_length: usize,
483        status: *mut TF_Status,
484    );
485}
486extern "C" {
487    pub fn TF_OperationGetAttrStringList(
488        oper: *mut TF_Operation,
489        attr_name: *const ::std::os::raw::c_char,
490        values: *mut *mut ::std::os::raw::c_void,
491        lengths: *mut usize,
492        max_values: ::std::os::raw::c_int,
493        storage: *mut ::std::os::raw::c_void,
494        storage_size: usize,
495        status: *mut TF_Status,
496    );
497}
498extern "C" {
499    pub fn TF_OperationGetAttrInt(
500        oper: *mut TF_Operation,
501        attr_name: *const ::std::os::raw::c_char,
502        value: *mut i64,
503        status: *mut TF_Status,
504    );
505}
506extern "C" {
507    pub fn TF_OperationGetAttrIntList(
508        oper: *mut TF_Operation,
509        attr_name: *const ::std::os::raw::c_char,
510        values: *mut i64,
511        max_values: ::std::os::raw::c_int,
512        status: *mut TF_Status,
513    );
514}
515extern "C" {
516    pub fn TF_OperationGetAttrFloat(
517        oper: *mut TF_Operation,
518        attr_name: *const ::std::os::raw::c_char,
519        value: *mut f32,
520        status: *mut TF_Status,
521    );
522}
523extern "C" {
524    pub fn TF_OperationGetAttrFloatList(
525        oper: *mut TF_Operation,
526        attr_name: *const ::std::os::raw::c_char,
527        values: *mut f32,
528        max_values: ::std::os::raw::c_int,
529        status: *mut TF_Status,
530    );
531}
532extern "C" {
533    pub fn TF_OperationGetAttrBool(
534        oper: *mut TF_Operation,
535        attr_name: *const ::std::os::raw::c_char,
536        value: *mut ::std::os::raw::c_uchar,
537        status: *mut TF_Status,
538    );
539}
540extern "C" {
541    pub fn TF_OperationGetAttrBoolList(
542        oper: *mut TF_Operation,
543        attr_name: *const ::std::os::raw::c_char,
544        values: *mut ::std::os::raw::c_uchar,
545        max_values: ::std::os::raw::c_int,
546        status: *mut TF_Status,
547    );
548}
549extern "C" {
550    pub fn TF_OperationGetAttrType(
551        oper: *mut TF_Operation,
552        attr_name: *const ::std::os::raw::c_char,
553        value: *mut TF_DataType,
554        status: *mut TF_Status,
555    );
556}
557extern "C" {
558    pub fn TF_OperationGetAttrTypeList(
559        oper: *mut TF_Operation,
560        attr_name: *const ::std::os::raw::c_char,
561        values: *mut TF_DataType,
562        max_values: ::std::os::raw::c_int,
563        status: *mut TF_Status,
564    );
565}
566extern "C" {
567    pub fn TF_OperationGetAttrShape(
568        oper: *mut TF_Operation,
569        attr_name: *const ::std::os::raw::c_char,
570        value: *mut i64,
571        num_dims: ::std::os::raw::c_int,
572        status: *mut TF_Status,
573    );
574}
575extern "C" {
576    pub fn TF_OperationGetAttrShapeList(
577        oper: *mut TF_Operation,
578        attr_name: *const ::std::os::raw::c_char,
579        dims: *mut *mut i64,
580        num_dims: *mut ::std::os::raw::c_int,
581        num_shapes: ::std::os::raw::c_int,
582        storage: *mut i64,
583        storage_size: ::std::os::raw::c_int,
584        status: *mut TF_Status,
585    );
586}
587extern "C" {
588    pub fn TF_OperationGetAttrTensorShapeProto(
589        oper: *mut TF_Operation,
590        attr_name: *const ::std::os::raw::c_char,
591        value: *mut TF_Buffer,
592        status: *mut TF_Status,
593    );
594}
595extern "C" {
596    pub fn TF_OperationGetAttrTensorShapeProtoList(
597        oper: *mut TF_Operation,
598        attr_name: *const ::std::os::raw::c_char,
599        values: *mut *mut TF_Buffer,
600        max_values: ::std::os::raw::c_int,
601        status: *mut TF_Status,
602    );
603}
604extern "C" {
605    pub fn TF_OperationGetAttrTensor(
606        oper: *mut TF_Operation,
607        attr_name: *const ::std::os::raw::c_char,
608        value: *mut *mut TF_Tensor,
609        status: *mut TF_Status,
610    );
611}
612extern "C" {
613    pub fn TF_OperationGetAttrTensorList(
614        oper: *mut TF_Operation,
615        attr_name: *const ::std::os::raw::c_char,
616        values: *mut *mut TF_Tensor,
617        max_values: ::std::os::raw::c_int,
618        status: *mut TF_Status,
619    );
620}
621extern "C" {
622    pub fn TF_OperationGetAttrValueProto(
623        oper: *mut TF_Operation,
624        attr_name: *const ::std::os::raw::c_char,
625        output_attr_value: *mut TF_Buffer,
626        status: *mut TF_Status,
627    );
628}
629extern "C" {
630    pub fn TF_OperationGetNumAttrs(oper: *mut TF_Operation) -> ::std::os::raw::c_int;
631}
632extern "C" {
633    pub fn TF_OperationGetAttrNameLength(
634        oper: *mut TF_Operation,
635        i: ::std::os::raw::c_int,
636    ) -> ::std::os::raw::c_int;
637}
638extern "C" {
639    pub fn TF_OperationGetAttrName(
640        oper: *mut TF_Operation,
641        i: ::std::os::raw::c_int,
642        output: *mut ::std::os::raw::c_char,
643        status: *mut TF_Status,
644    );
645}
646extern "C" {
647    pub fn TF_GraphOperationByName(
648        graph: *mut TF_Graph,
649        oper_name: *const ::std::os::raw::c_char,
650    ) -> *mut TF_Operation;
651}
652extern "C" {
653    pub fn TF_GraphNextOperation(graph: *mut TF_Graph, pos: *mut usize) -> *mut TF_Operation;
654}
655extern "C" {
656    pub fn TF_GraphToGraphDef(
657        graph: *mut TF_Graph,
658        output_graph_def: *mut TF_Buffer,
659        status: *mut TF_Status,
660    );
661}
662extern "C" {
663    pub fn TF_GraphGetOpDef(
664        graph: *mut TF_Graph,
665        op_name: *const ::std::os::raw::c_char,
666        output_op_def: *mut TF_Buffer,
667        status: *mut TF_Status,
668    );
669}
670extern "C" {
671    pub fn TF_GraphVersions(
672        graph: *mut TF_Graph,
673        output_version_def: *mut TF_Buffer,
674        status: *mut TF_Status,
675    );
676}
677extern "C" {
678    pub fn TF_NewImportGraphDefOptions() -> *mut TF_ImportGraphDefOptions;
679}
680extern "C" {
681    pub fn TF_DeleteImportGraphDefOptions(opts: *mut TF_ImportGraphDefOptions);
682}
683extern "C" {
684    pub fn TF_ImportGraphDefOptionsSetPrefix(
685        opts: *mut TF_ImportGraphDefOptions,
686        prefix: *const ::std::os::raw::c_char,
687    );
688}
689extern "C" {
690    pub fn TF_ImportGraphDefOptionsSetDefaultDevice(
691        opts: *mut TF_ImportGraphDefOptions,
692        device: *const ::std::os::raw::c_char,
693    );
694}
695extern "C" {
696    pub fn TF_ImportGraphDefOptionsSetUniquifyNames(
697        opts: *mut TF_ImportGraphDefOptions,
698        uniquify_names: ::std::os::raw::c_uchar,
699    );
700}
701extern "C" {
702    pub fn TF_ImportGraphDefOptionsSetUniquifyPrefix(
703        opts: *mut TF_ImportGraphDefOptions,
704        uniquify_prefix: ::std::os::raw::c_uchar,
705    );
706}
707extern "C" {
708    pub fn TF_ImportGraphDefOptionsAddInputMapping(
709        opts: *mut TF_ImportGraphDefOptions,
710        src_name: *const ::std::os::raw::c_char,
711        src_index: ::std::os::raw::c_int,
712        dst: TF_Output,
713    );
714}
715extern "C" {
716    pub fn TF_ImportGraphDefOptionsRemapControlDependency(
717        opts: *mut TF_ImportGraphDefOptions,
718        src_name: *const ::std::os::raw::c_char,
719        dst: *mut TF_Operation,
720    );
721}
722extern "C" {
723    pub fn TF_ImportGraphDefOptionsAddControlDependency(
724        opts: *mut TF_ImportGraphDefOptions,
725        oper: *mut TF_Operation,
726    );
727}
728extern "C" {
729    pub fn TF_ImportGraphDefOptionsAddReturnOutput(
730        opts: *mut TF_ImportGraphDefOptions,
731        oper_name: *const ::std::os::raw::c_char,
732        index: ::std::os::raw::c_int,
733    );
734}
735extern "C" {
736    pub fn TF_ImportGraphDefOptionsNumReturnOutputs(
737        opts: *const TF_ImportGraphDefOptions,
738    ) -> ::std::os::raw::c_int;
739}
740extern "C" {
741    pub fn TF_ImportGraphDefOptionsAddReturnOperation(
742        opts: *mut TF_ImportGraphDefOptions,
743        oper_name: *const ::std::os::raw::c_char,
744    );
745}
746extern "C" {
747    pub fn TF_ImportGraphDefOptionsNumReturnOperations(
748        opts: *const TF_ImportGraphDefOptions,
749    ) -> ::std::os::raw::c_int;
750}
751extern "C" {
752    pub fn TF_ImportGraphDefResultsReturnOutputs(
753        results: *mut TF_ImportGraphDefResults,
754        num_outputs: *mut ::std::os::raw::c_int,
755        outputs: *mut *mut TF_Output,
756    );
757}
758extern "C" {
759    pub fn TF_ImportGraphDefResultsReturnOperations(
760        results: *mut TF_ImportGraphDefResults,
761        num_opers: *mut ::std::os::raw::c_int,
762        opers: *mut *mut *mut TF_Operation,
763    );
764}
765extern "C" {
766    pub fn TF_ImportGraphDefResultsMissingUnusedInputMappings(
767        results: *mut TF_ImportGraphDefResults,
768        num_missing_unused_input_mappings: *mut ::std::os::raw::c_int,
769        src_names: *mut *mut *const ::std::os::raw::c_char,
770        src_indexes: *mut *mut ::std::os::raw::c_int,
771    );
772}
773extern "C" {
774    pub fn TF_DeleteImportGraphDefResults(results: *mut TF_ImportGraphDefResults);
775}
776extern "C" {
777    pub fn TF_GraphImportGraphDefWithResults(
778        graph: *mut TF_Graph,
779        graph_def: *const TF_Buffer,
780        options: *const TF_ImportGraphDefOptions,
781        status: *mut TF_Status,
782    ) -> *mut TF_ImportGraphDefResults;
783}
784extern "C" {
785    pub fn TF_GraphImportGraphDefWithReturnOutputs(
786        graph: *mut TF_Graph,
787        graph_def: *const TF_Buffer,
788        options: *const TF_ImportGraphDefOptions,
789        return_outputs: *mut TF_Output,
790        num_return_outputs: ::std::os::raw::c_int,
791        status: *mut TF_Status,
792    );
793}
794extern "C" {
795    pub fn TF_GraphImportGraphDef(
796        graph: *mut TF_Graph,
797        graph_def: *const TF_Buffer,
798        options: *const TF_ImportGraphDefOptions,
799        status: *mut TF_Status,
800    );
801}
802extern "C" {
803    pub fn TF_GraphCopyFunction(
804        g: *mut TF_Graph,
805        func: *const TF_Function,
806        grad: *const TF_Function,
807        status: *mut TF_Status,
808    );
809}
810extern "C" {
811    pub fn TF_GraphNumFunctions(g: *mut TF_Graph) -> ::std::os::raw::c_int;
812}
813extern "C" {
814    pub fn TF_GraphGetFunctions(
815        g: *mut TF_Graph,
816        funcs: *mut *mut TF_Function,
817        max_func: ::std::os::raw::c_int,
818        status: *mut TF_Status,
819    ) -> ::std::os::raw::c_int;
820}
821extern "C" {
822    pub fn TF_OperationToNodeDef(
823        oper: *mut TF_Operation,
824        output_node_def: *mut TF_Buffer,
825        status: *mut TF_Status,
826    );
827}
828extern "C" {
829    pub fn TF_NewWhile(
830        g: *mut TF_Graph,
831        inputs: *mut TF_Output,
832        ninputs: ::std::os::raw::c_int,
833        status: *mut TF_Status,
834    ) -> TF_WhileParams;
835}
836extern "C" {
837    pub fn TF_FinishWhile(
838        params: *const TF_WhileParams,
839        status: *mut TF_Status,
840        outputs: *mut TF_Output,
841    );
842}
843extern "C" {
844    pub fn TF_AbortWhile(params: *const TF_WhileParams);
845}
846extern "C" {
847    pub fn TF_AddGradients(
848        g: *mut TF_Graph,
849        y: *mut TF_Output,
850        ny: ::std::os::raw::c_int,
851        x: *mut TF_Output,
852        nx: ::std::os::raw::c_int,
853        dx: *mut TF_Output,
854        status: *mut TF_Status,
855        dy: *mut TF_Output,
856    );
857}
858extern "C" {
859    pub fn TF_AddGradientsWithPrefix(
860        g: *mut TF_Graph,
861        prefix: *const ::std::os::raw::c_char,
862        y: *mut TF_Output,
863        ny: ::std::os::raw::c_int,
864        x: *mut TF_Output,
865        nx: ::std::os::raw::c_int,
866        dx: *mut TF_Output,
867        status: *mut TF_Status,
868        dy: *mut TF_Output,
869    );
870}
871extern "C" {
872    pub fn TF_GraphToFunction(
873        fn_body: *const TF_Graph,
874        fn_name: *const ::std::os::raw::c_char,
875        append_hash_to_fn_name: ::std::os::raw::c_uchar,
876        num_opers: ::std::os::raw::c_int,
877        opers: *const *const TF_Operation,
878        ninputs: ::std::os::raw::c_int,
879        inputs: *const TF_Output,
880        noutputs: ::std::os::raw::c_int,
881        outputs: *const TF_Output,
882        output_names: *const *const ::std::os::raw::c_char,
883        opts: *const TF_FunctionOptions,
884        description: *const ::std::os::raw::c_char,
885        status: *mut TF_Status,
886    ) -> *mut TF_Function;
887}
888extern "C" {
889    pub fn TF_GraphToFunctionWithControlOutputs(
890        fn_body: *const TF_Graph,
891        fn_name: *const ::std::os::raw::c_char,
892        append_hash_to_fn_name: ::std::os::raw::c_uchar,
893        num_opers: ::std::os::raw::c_int,
894        opers: *const *const TF_Operation,
895        ninputs: ::std::os::raw::c_int,
896        inputs: *const TF_Output,
897        noutputs: ::std::os::raw::c_int,
898        outputs: *const TF_Output,
899        output_names: *const *const ::std::os::raw::c_char,
900        ncontrol_outputs: ::std::os::raw::c_int,
901        control_outputs: *const *const TF_Operation,
902        control_output_names: *const *const ::std::os::raw::c_char,
903        opts: *const TF_FunctionOptions,
904        description: *const ::std::os::raw::c_char,
905        status: *mut TF_Status,
906    ) -> *mut TF_Function;
907}
908extern "C" {
909    pub fn TF_FunctionName(func: *mut TF_Function) -> *const ::std::os::raw::c_char;
910}
911extern "C" {
912    pub fn TF_FunctionToFunctionDef(
913        func: *mut TF_Function,
914        output_func_def: *mut TF_Buffer,
915        status: *mut TF_Status,
916    );
917}
918extern "C" {
919    pub fn TF_FunctionImportFunctionDef(
920        proto: *const ::std::os::raw::c_void,
921        proto_len: usize,
922        status: *mut TF_Status,
923    ) -> *mut TF_Function;
924}
925extern "C" {
926    pub fn TF_FunctionSetAttrValueProto(
927        func: *mut TF_Function,
928        attr_name: *const ::std::os::raw::c_char,
929        proto: *const ::std::os::raw::c_void,
930        proto_len: usize,
931        status: *mut TF_Status,
932    );
933}
934extern "C" {
935    pub fn TF_FunctionGetAttrValueProto(
936        func: *mut TF_Function,
937        attr_name: *const ::std::os::raw::c_char,
938        output_attr_value: *mut TF_Buffer,
939        status: *mut TF_Status,
940    );
941}
942extern "C" {
943    pub fn TF_DeleteFunction(func: *mut TF_Function);
944}
945extern "C" {
946    pub fn TF_TryEvaluateConstant(
947        graph: *mut TF_Graph,
948        output: TF_Output,
949        result: *mut *mut TF_Tensor,
950        status: *mut TF_Status,
951    ) -> ::std::os::raw::c_uchar;
952}
953extern "C" {
954    pub fn TF_NewSession(
955        graph: *mut TF_Graph,
956        opts: *const TF_SessionOptions,
957        status: *mut TF_Status,
958    ) -> *mut TF_Session;
959}
960extern "C" {
961    pub fn TF_LoadSessionFromSavedModel(
962        session_options: *const TF_SessionOptions,
963        run_options: *const TF_Buffer,
964        export_dir: *const ::std::os::raw::c_char,
965        tags: *const *const ::std::os::raw::c_char,
966        tags_len: ::std::os::raw::c_int,
967        graph: *mut TF_Graph,
968        meta_graph_def: *mut TF_Buffer,
969        status: *mut TF_Status,
970    ) -> *mut TF_Session;
971}
972extern "C" {
973    pub fn TF_CloseSession(arg1: *mut TF_Session, status: *mut TF_Status);
974}
975extern "C" {
976    pub fn TF_DeleteSession(arg1: *mut TF_Session, status: *mut TF_Status);
977}
978extern "C" {
979    pub fn TF_SessionRun(
980        session: *mut TF_Session,
981        run_options: *const TF_Buffer,
982        inputs: *const TF_Output,
983        input_values: *const *mut TF_Tensor,
984        ninputs: ::std::os::raw::c_int,
985        outputs: *const TF_Output,
986        output_values: *mut *mut TF_Tensor,
987        noutputs: ::std::os::raw::c_int,
988        target_opers: *const *const TF_Operation,
989        ntargets: ::std::os::raw::c_int,
990        run_metadata: *mut TF_Buffer,
991        arg1: *mut TF_Status,
992    );
993}
994extern "C" {
995    pub fn TF_SessionPRunSetup(
996        arg1: *mut TF_Session,
997        inputs: *const TF_Output,
998        ninputs: ::std::os::raw::c_int,
999        outputs: *const TF_Output,
1000        noutputs: ::std::os::raw::c_int,
1001        target_opers: *const *const TF_Operation,
1002        ntargets: ::std::os::raw::c_int,
1003        handle: *mut *const ::std::os::raw::c_char,
1004        arg2: *mut TF_Status,
1005    );
1006}
1007extern "C" {
1008    pub fn TF_SessionPRun(
1009        arg1: *mut TF_Session,
1010        handle: *const ::std::os::raw::c_char,
1011        inputs: *const TF_Output,
1012        input_values: *const *mut TF_Tensor,
1013        ninputs: ::std::os::raw::c_int,
1014        outputs: *const TF_Output,
1015        output_values: *mut *mut TF_Tensor,
1016        noutputs: ::std::os::raw::c_int,
1017        target_opers: *const *const TF_Operation,
1018        ntargets: ::std::os::raw::c_int,
1019        arg2: *mut TF_Status,
1020    );
1021}
1022extern "C" {
1023    pub fn TF_DeletePRunHandle(handle: *const ::std::os::raw::c_char);
1024}
1025extern "C" {
1026    pub fn TF_NewDeprecatedSession(
1027        arg1: *const TF_SessionOptions,
1028        status: *mut TF_Status,
1029    ) -> *mut TF_DeprecatedSession;
1030}
1031extern "C" {
1032    pub fn TF_CloseDeprecatedSession(arg1: *mut TF_DeprecatedSession, status: *mut TF_Status);
1033}
1034extern "C" {
1035    pub fn TF_DeleteDeprecatedSession(arg1: *mut TF_DeprecatedSession, status: *mut TF_Status);
1036}
1037extern "C" {
1038    pub fn TF_Reset(
1039        opt: *const TF_SessionOptions,
1040        containers: *mut *const ::std::os::raw::c_char,
1041        ncontainers: ::std::os::raw::c_int,
1042        status: *mut TF_Status,
1043    );
1044}
1045extern "C" {
1046    pub fn TF_ExtendGraph(
1047        arg1: *mut TF_DeprecatedSession,
1048        proto: *const ::std::os::raw::c_void,
1049        proto_len: usize,
1050        arg2: *mut TF_Status,
1051    );
1052}
1053extern "C" {
1054    pub fn TF_Run(
1055        arg1: *mut TF_DeprecatedSession,
1056        run_options: *const TF_Buffer,
1057        input_names: *mut *const ::std::os::raw::c_char,
1058        inputs: *mut *mut TF_Tensor,
1059        ninputs: ::std::os::raw::c_int,
1060        output_names: *mut *const ::std::os::raw::c_char,
1061        outputs: *mut *mut TF_Tensor,
1062        noutputs: ::std::os::raw::c_int,
1063        target_oper_names: *mut *const ::std::os::raw::c_char,
1064        ntargets: ::std::os::raw::c_int,
1065        run_metadata: *mut TF_Buffer,
1066        arg2: *mut TF_Status,
1067    );
1068}
1069extern "C" {
1070    pub fn TF_PRunSetup(
1071        arg1: *mut TF_DeprecatedSession,
1072        input_names: *mut *const ::std::os::raw::c_char,
1073        ninputs: ::std::os::raw::c_int,
1074        output_names: *mut *const ::std::os::raw::c_char,
1075        noutputs: ::std::os::raw::c_int,
1076        target_oper_names: *mut *const ::std::os::raw::c_char,
1077        ntargets: ::std::os::raw::c_int,
1078        handle: *mut *const ::std::os::raw::c_char,
1079        arg2: *mut TF_Status,
1080    );
1081}
1082extern "C" {
1083    pub fn TF_PRun(
1084        arg1: *mut TF_DeprecatedSession,
1085        handle: *const ::std::os::raw::c_char,
1086        input_names: *mut *const ::std::os::raw::c_char,
1087        inputs: *mut *mut TF_Tensor,
1088        ninputs: ::std::os::raw::c_int,
1089        output_names: *mut *const ::std::os::raw::c_char,
1090        outputs: *mut *mut TF_Tensor,
1091        noutputs: ::std::os::raw::c_int,
1092        target_oper_names: *mut *const ::std::os::raw::c_char,
1093        ntargets: ::std::os::raw::c_int,
1094        arg2: *mut TF_Status,
1095    );
1096}
1097extern "C" {
1098    pub fn TF_SessionListDevices(
1099        session: *mut TF_Session,
1100        status: *mut TF_Status,
1101    ) -> *mut TF_DeviceList;
1102}
1103extern "C" {
1104    pub fn TF_DeprecatedSessionListDevices(
1105        session: *mut TF_DeprecatedSession,
1106        status: *mut TF_Status,
1107    ) -> *mut TF_DeviceList;
1108}
1109extern "C" {
1110    pub fn TF_DeleteDeviceList(list: *mut TF_DeviceList);
1111}
1112extern "C" {
1113    pub fn TF_DeviceListCount(list: *const TF_DeviceList) -> ::std::os::raw::c_int;
1114}
1115extern "C" {
1116    pub fn TF_DeviceListName(
1117        list: *const TF_DeviceList,
1118        index: ::std::os::raw::c_int,
1119        status: *mut TF_Status,
1120    ) -> *const ::std::os::raw::c_char;
1121}
1122extern "C" {
1123    pub fn TF_DeviceListType(
1124        list: *const TF_DeviceList,
1125        index: ::std::os::raw::c_int,
1126        status: *mut TF_Status,
1127    ) -> *const ::std::os::raw::c_char;
1128}
1129extern "C" {
1130    pub fn TF_DeviceListMemoryBytes(
1131        list: *const TF_DeviceList,
1132        index: ::std::os::raw::c_int,
1133        status: *mut TF_Status,
1134    ) -> i64;
1135}
1136extern "C" {
1137    pub fn TF_DeviceListIncarnation(
1138        list: *const TF_DeviceList,
1139        index: ::std::os::raw::c_int,
1140        status: *mut TF_Status,
1141    ) -> u64;
1142}
1143extern "C" {
1144    pub fn TF_LoadLibrary(
1145        library_filename: *const ::std::os::raw::c_char,
1146        status: *mut TF_Status,
1147    ) -> *mut TF_Library;
1148}
1149extern "C" {
1150    pub fn TF_GetOpList(lib_handle: *mut TF_Library) -> TF_Buffer;
1151}
1152extern "C" {
1153    pub fn TF_DeleteLibraryHandle(lib_handle: *mut TF_Library);
1154}
1155extern "C" {
1156    pub fn TF_GetAllOpList() -> *mut TF_Buffer;
1157}
1158extern "C" {
1159    pub fn TF_NewApiDefMap(
1160        op_list_buffer: *mut TF_Buffer,
1161        status: *mut TF_Status,
1162    ) -> *mut TF_ApiDefMap;
1163}
1164extern "C" {
1165    pub fn TF_DeleteApiDefMap(apimap: *mut TF_ApiDefMap);
1166}
1167extern "C" {
1168    pub fn TF_ApiDefMapPut(
1169        api_def_map: *mut TF_ApiDefMap,
1170        text: *const ::std::os::raw::c_char,
1171        text_len: usize,
1172        status: *mut TF_Status,
1173    );
1174}
1175extern "C" {
1176    pub fn TF_ApiDefMapGet(
1177        api_def_map: *mut TF_ApiDefMap,
1178        name: *const ::std::os::raw::c_char,
1179        name_len: usize,
1180        status: *mut TF_Status,
1181    ) -> *mut TF_Buffer;
1182}
1183extern "C" {
1184    pub fn TF_GetAllRegisteredKernels(status: *mut TF_Status) -> *mut TF_Buffer;
1185}
1186extern "C" {
1187    pub fn TF_GetRegisteredKernelsForOp(
1188        name: *const ::std::os::raw::c_char,
1189        status: *mut TF_Status,
1190    ) -> *mut TF_Buffer;
1191}
1192extern "C" {
1193    pub fn TF_UpdateEdge(
1194        graph: *mut TF_Graph,
1195        new_src: TF_Output,
1196        dst: TF_Input,
1197        status: *mut TF_Status,
1198    );
1199}
1200extern "C" {
1201    pub fn TF_NewServer(
1202        proto: *const ::std::os::raw::c_void,
1203        proto_len: usize,
1204        status: *mut TF_Status,
1205    ) -> *mut TF_Server;
1206}
1207extern "C" {
1208    pub fn TF_ServerStart(server: *mut TF_Server, status: *mut TF_Status);
1209}
1210extern "C" {
1211    pub fn TF_ServerStop(server: *mut TF_Server, status: *mut TF_Status);
1212}
1213extern "C" {
1214    pub fn TF_ServerJoin(server: *mut TF_Server, status: *mut TF_Status);
1215}
1216extern "C" {
1217    pub fn TF_ServerTarget(server: *mut TF_Server) -> *const ::std::os::raw::c_char;
1218}
1219extern "C" {
1220    pub fn TF_DeleteServer(server: *mut TF_Server);
1221}
1222extern "C" {
1223    pub fn TF_RegisterLogListener(
1224        listener: ::std::option::Option<unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char)>,
1225    );
1226}
1227extern "C" {
1228    pub fn TF_RegisterFilesystemPlugin(
1229        plugin_filename: *const ::std::os::raw::c_char,
1230        status: *mut TF_Status,
1231    );
1232}
1233}