OSDN Git Service

add win/C# diff files
[handbrake-jp/handbrake-jp.git] / win / C# / interop / HbLib.cs.diff
1 diff --git a/win/C#/interop/HbLib.cs b/win/C#/interop/HbLib.cs
2 new file mode 100644
3 index 0000000..9d22207
4 --- /dev/null
5 +++ b/win/C#/interop/HbLib.cs
6 @@ -0,0 +1,1290 @@
7 +using System;\r
8 +using System.Collections.Generic;\r
9 +using System.Linq;\r
10 +using System.Text;\r
11 +using System.Runtime.InteropServices;\r
12 +\r
13 +namespace HandBrake.Interop\r
14 +{\r
15 +\r
16 +    public partial class NativeConstants\r
17 +    {\r
18 +        public const int HB_ACODEC_MASK =   0x00FF00;\r
19 +        public const int HB_ACODEC_FAAC =   0x000100;\r
20 +        public const int HB_ACODEC_LAME =   0x000200;\r
21 +        public const int HB_ACODEC_VORBIS = 0x000400;\r
22 +        public const int HB_ACODEC_AC3 =    0x000800;\r
23 +        public const int HB_ACODEC_MPGA =   0x001000;\r
24 +        public const int HB_ACODEC_LPCM =   0x002000;\r
25 +        public const int HB_ACODEC_DCA =    0x004000;\r
26 +        public const int HB_ACODEC_FFMPEG = 0x008000;\r
27 +        public const int HB_ACODEC_CA_AAC = 0x010000;\r
28 +\r
29 +        public const int HB_AMIXDOWN_DCA_FORMAT_MASK =              0x00FFF000;\r
30 +        public const int HB_AMIXDOWN_A52_FORMAT_MASK =              0x00000FF0;\r
31 +        public const int HB_AMIXDOWN_DISCRETE_CHANNEL_COUNT_MASK =  0x0000000F;\r
32 +        public const int HB_AMIXDOWN_MONO =                         0x01000001;\r
33 +        public const int HB_AMIXDOWN_STEREO =                       0x02002022;\r
34 +        public const int HB_AMIXDOWN_DOLBY =                        0x042070A2;\r
35 +        public const int HB_AMIXDOWN_DOLBYPLII =                    0x084094A2;\r
36 +        public const int HB_AMIXDOWN_6CH =                          0x10089176;\r
37 +\r
38 +        public const int HB_VCODEC_MASK =   0x0000FF;\r
39 +        public const int HB_VCODEC_FFMPEG = 0x000001;\r
40 +        public const int HB_VCODEC_X264 =   0x000002;\r
41 +        public const int HB_VCODEC_THEORA = 0x000004;\r
42 +\r
43 +        public const int HB_MUX_MASK =  0xFF0000;\r
44 +        public const int HB_MUX_MP4 =   0x010000;\r
45 +        public const int HB_MUX_PSP =   0x020000;\r
46 +        public const int HB_MUX_AVI =   0x040000;\r
47 +        public const int HB_MUX_OGM =   0x080000;\r
48 +        public const int HB_MUX_IPOD =  0x100000;\r
49 +        public const int HB_MUX_MKV =   0x200000;\r
50 +\r
51 +        public const int HBTF_NO_IDR = 1 << 0;\r
52 +\r
53 +        public const int HB_STATE_IDLE = 1;\r
54 +        public const int HB_STATE_SCANNING = 2;\r
55 +        public const int HB_STATE_SCANDONE = 4;\r
56 +        public const int HB_STATE_WORKING = 8;\r
57 +        public const int HB_STATE_PAUSED = 16;\r
58 +        public const int HB_STATE_WORKDONE = 32;\r
59 +        public const int HB_STATE_MUXING = 64;\r
60 +\r
61 +        public const int HB_ERROR_NONE = 0;\r
62 +        public const int HB_ERROR_CANCELED = 1;\r
63 +        public const int HB_ERROR_UNKNOWN = 2;\r
64 +\r
65 +        public const int AUDIO_F_DOLBY = 1 << 31;\r
66 +\r
67 +        public const int HB_FRAME_IDR =     0x01;\r
68 +        public const int HB_FRAME_I =       0x02;\r
69 +        public const int HB_FRAME_AUDIO =   0x04;\r
70 +        public const int HB_FRAME_P =       0x10;\r
71 +        public const int HB_FRAME_B =       0x20;\r
72 +        public const int HB_FRAME_BREF =    0x40;\r
73 +        public const int HB_FRAME_KEY =     0x0F;\r
74 +        public const int HB_FRAME_REF =     0xF0;\r
75 +\r
76 +        public const int HB_CONFIG_MAX_SIZE = 8192;\r
77 +\r
78 +        public const int HB_FILTER_DETELECINE = 1;\r
79 +        public const int HB_FILTER_DEINTERLACE = 2;\r
80 +        public const int HB_FILTER_DEBLOCK = 3;\r
81 +        public const int HB_FILTER_DENOISE = 4;\r
82 +        public const int HB_FILTER_DECOMB = 5;\r
83 +        public const int HB_FILTER_ROTATE = 6;\r
84 +    }\r
85 +\r
86 +    [StructLayout(LayoutKind.Sequential)]\r
87 +    public struct hb_anamorphic_substruct\r
88 +    {\r
89 +        /// int\r
90 +        public int mode;\r
91 +\r
92 +        /// int\r
93 +        public int itu_par;\r
94 +\r
95 +        /// int\r
96 +        public int par_width;\r
97 +\r
98 +        /// int\r
99 +        public int par_height;\r
100 +\r
101 +        /// int\r
102 +        public int dar_width;\r
103 +\r
104 +        /// int\r
105 +        public int dar_height;\r
106 +\r
107 +        /// int\r
108 +        public int keep_display_aspect;\r
109 +    }\r
110 +\r
111 +    [StructLayout(LayoutKind.Sequential)]\r
112 +    public struct hb_job_s\r
113 +    {\r
114 +        /// int\r
115 +        public int sequence_id;\r
116 +\r
117 +        /// hb_title_t*\r
118 +        public IntPtr title;\r
119 +\r
120 +        public int feature;\r
121 +\r
122 +        /// int\r
123 +        public int chapter_start;\r
124 +\r
125 +        /// int\r
126 +        public int chapter_end;\r
127 +\r
128 +        /// int\r
129 +        public int chapter_markers;\r
130 +\r
131 +        /// int[4]\r
132 +        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I4)]\r
133 +        public int[] crop;\r
134 +\r
135 +        /// int\r
136 +        public int deinterlace;\r
137 +\r
138 +        /// hb_list_t*\r
139 +        public IntPtr filters;\r
140 +\r
141 +        /// int\r
142 +        public int width;\r
143 +\r
144 +        /// int\r
145 +        public int height;\r
146 +\r
147 +        /// int\r
148 +        public int keep_ratio;\r
149 +\r
150 +        /// int\r
151 +        public int grayscale;\r
152 +\r
153 +        public hb_anamorphic_substruct anamorphic;\r
154 +\r
155 +        public int modulus;\r
156 +\r
157 +        /// int\r
158 +        public int maxWidth;\r
159 +\r
160 +        /// int\r
161 +        public int maxHeight;\r
162 +\r
163 +        /// int\r
164 +        public int vcodec;\r
165 +\r
166 +        /// float\r
167 +        public float vquality;\r
168 +\r
169 +        /// int\r
170 +        public int vbitrate;\r
171 +\r
172 +        /// int\r
173 +        public int vrate;\r
174 +\r
175 +        /// int\r
176 +        public int vrate_base;\r
177 +\r
178 +        /// int\r
179 +        public int vfr;\r
180 +\r
181 +        /// int\r
182 +        public int cfr;\r
183 +\r
184 +        /// int\r
185 +        public int pass;\r
186 +\r
187 +        /// int\r
188 +        public int h264_13;\r
189 +\r
190 +        /// int\r
191 +        public int h264_level;\r
192 +\r
193 +        /// char*\r
194 +        //[MarshalAs(UnmanagedType.LPStr)]\r
195 +        //public string x264opts;\r
196 +\r
197 +        public IntPtr x264opts;\r
198 +\r
199 +        /// int\r
200 +        public int areBframes;\r
201 +\r
202 +        /// int\r
203 +        public int color_matrix;\r
204 +\r
205 +        /// hb_list_t*\r
206 +        public IntPtr list_audio;\r
207 +\r
208 +        /// hb_list_t*\r
209 +        public IntPtr list_subtitle;\r
210 +\r
211 +        /// int\r
212 +        public int mux;\r
213 +\r
214 +        /// char*\r
215 +        [MarshalAs(UnmanagedType.LPStr)]\r
216 +        public string file;\r
217 +\r
218 +        /// int\r
219 +        public int largeFileSize;\r
220 +\r
221 +        /// int\r
222 +        public int mp4_optimize;\r
223 +\r
224 +        /// int\r
225 +        public int ipod_atom;\r
226 +\r
227 +        /// int\r
228 +        public int indepth_scan;\r
229 +\r
230 +        /// hb_subtitle_config_t->hb_subtitle_config_s\r
231 +        public hb_subtitle_config_s select_subtitle_config;\r
232 +\r
233 +        /// int\r
234 +        public int angle;\r
235 +\r
236 +        public int frame_to_start;\r
237 +\r
238 +        public long pts_to_start;\r
239 +\r
240 +        /// int\r
241 +        public int frame_to_stop;\r
242 +\r
243 +        /// int64_t->int\r
244 +        public long pts_to_stop;\r
245 +\r
246 +        /// int\r
247 +        public int start_at_preview;\r
248 +\r
249 +        /// int\r
250 +        public int seek_points;\r
251 +\r
252 +        /// uint32_t->unsigned int\r
253 +        public uint frames_to_skip;\r
254 +\r
255 +        // Padding for the part of the struct we don't care about marshaling.\r
256 +        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24644, ArraySubType = UnmanagedType.U1)]\r
257 +        public byte[] padding;\r
258 +    }\r
259 +\r
260 +    [StructLayout(LayoutKind.Sequential)]\r
261 +    public struct hb_list_s\r
262 +    {\r
263 +        /// void**\r
264 +        public IntPtr items;\r
265 +\r
266 +        /// int\r
267 +        public int items_alloc;\r
268 +\r
269 +        /// int\r
270 +        public int items_count;\r
271 +    }\r
272 +\r
273 +    [StructLayout(LayoutKind.Sequential)]\r
274 +    public struct hb_rate_s\r
275 +    {\r
276 +        /// char*\r
277 +        [MarshalAs(UnmanagedType.LPStr)]\r
278 +        public string @string;\r
279 +\r
280 +        /// int\r
281 +        public int rate;\r
282 +    }\r
283 +\r
284 +    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]\r
285 +    public struct hb_handle_s\r
286 +    {\r
287 +        public int id;\r
288 +\r
289 +        /// int\r
290 +        public int build;\r
291 +\r
292 +        /// char[32]\r
293 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]\r
294 +        public string version;\r
295 +\r
296 +        /// hb_thread_t*\r
297 +        public IntPtr update_thread;\r
298 +\r
299 +        /// int\r
300 +        public int die;\r
301 +\r
302 +        /// hb_thread_t*\r
303 +        public IntPtr main_thread;\r
304 +\r
305 +        /// int\r
306 +        public int pid;\r
307 +\r
308 +        /// hb_list_t*\r
309 +        public IntPtr list_title;\r
310 +\r
311 +        /// hb_thread_t*\r
312 +        public IntPtr scan_thread;\r
313 +\r
314 +        /// hb_list_t*\r
315 +        public IntPtr jobs;\r
316 +\r
317 +        /// hb_job_t*\r
318 +        public IntPtr current_job;\r
319 +\r
320 +        /// int\r
321 +        public int job_count;\r
322 +\r
323 +        /// int\r
324 +        public int job_count_permanent;\r
325 +\r
326 +        /// int\r
327 +        public int work_die;\r
328 +\r
329 +        /// int\r
330 +        public int work_error;\r
331 +\r
332 +        /// hb_thread_t*\r
333 +        public IntPtr work_thread;\r
334 +\r
335 +        /// int\r
336 +        public int cpu_count;\r
337 +\r
338 +        /// hb_lock_t*\r
339 +        public IntPtr state_lock;\r
340 +\r
341 +        /// hb_state_t->hb_state_s\r
342 +        public hb_state_s state;\r
343 +\r
344 +        /// int\r
345 +        public int paused;\r
346 +\r
347 +        /// hb_lock_t*\r
348 +        public IntPtr pause_lock;\r
349 +\r
350 +        /// int\r
351 +        public int scanCount;\r
352 +\r
353 +        /// hb_interjob_t*\r
354 +        public IntPtr interjob;\r
355 +    }\r
356 +\r
357 +    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]\r
358 +    public struct hb_chapter_s\r
359 +    {\r
360 +        /// int\r
361 +        public int index;\r
362 +\r
363 +        /// int\r
364 +        public int pgcn;\r
365 +\r
366 +        /// int\r
367 +        public int pgn;\r
368 +\r
369 +        /// int\r
370 +        public int cell_start;\r
371 +\r
372 +        /// int\r
373 +        public int cell_end;\r
374 +\r
375 +        /// int\r
376 +        public int block_start;\r
377 +\r
378 +        /// int\r
379 +        public int block_end;\r
380 +\r
381 +        /// int\r
382 +        public int block_count;\r
383 +\r
384 +        /// int\r
385 +        public int hours;\r
386 +\r
387 +        /// int\r
388 +        public int minutes;\r
389 +\r
390 +        /// int\r
391 +        public int seconds;\r
392 +\r
393 +        /// uint64_t->unsigned int\r
394 +        public ulong duration;\r
395 +\r
396 +        /// char[1024]\r
397 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]\r
398 +        public string title;\r
399 +    }\r
400 +\r
401 +    public enum hb_subtitle_s_subtype\r
402 +    {\r
403 +        PICTURESUB,\r
404 +\r
405 +        TEXTSUB,\r
406 +    }\r
407 +\r
408 +    public enum hb_subtitle_s_subsource\r
409 +    {\r
410 +        VOBSUB,\r
411 +\r
412 +        SRTSUB,\r
413 +\r
414 +        CC608SUB,\r
415 +\r
416 +        CC708SUB,\r
417 +\r
418 +        UTF8SUB,\r
419 +\r
420 +        TX3GSUB,\r
421 +\r
422 +        SSASUB\r
423 +    }\r
424 +\r
425 +    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]\r
426 +    public struct hb_subtitle_s\r
427 +    {\r
428 +        /// int\r
429 +        public int id;\r
430 +\r
431 +        /// int\r
432 +        public int track;\r
433 +\r
434 +        /// hb_subtitle_config_t->hb_subtitle_config_s\r
435 +        public hb_subtitle_config_s config;\r
436 +\r
437 +        /// hb_subtitle_s_subtype\r
438 +        public hb_subtitle_s_subtype format;\r
439 +\r
440 +        /// hb_subtitle_s_subsource\r
441 +        public hb_subtitle_s_subsource source;\r
442 +\r
443 +        /// char[1024]\r
444 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]\r
445 +        public string lang;\r
446 +\r
447 +        /// char[4]\r
448 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]\r
449 +        public string iso639_2;\r
450 +\r
451 +        /// uint8_t->unsigned char\r
452 +        public byte type;\r
453 +\r
454 +        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.U4)]\r
455 +        public uint[] palette;\r
456 +\r
457 +        public int width;\r
458 +\r
459 +        public int height;\r
460 +\r
461 +        /// int\r
462 +        public int hits;\r
463 +\r
464 +        /// int\r
465 +        public int forced_hits;\r
466 +\r
467 +        /// hb_fifo_t*\r
468 +        public IntPtr fifo_in;\r
469 +\r
470 +        /// hb_fifo_t*\r
471 +        public IntPtr fifo_raw;\r
472 +\r
473 +        /// hb_fifo_t*\r
474 +        public IntPtr fifo_sync;\r
475 +\r
476 +        /// hb_fifo_t*\r
477 +        public IntPtr fifo_out;\r
478 +\r
479 +        /// hb_mux_data_t*\r
480 +        public IntPtr mux_data;\r
481 +    }\r
482 +\r
483 +    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]\r
484 +    public struct hb_metadata_s\r
485 +    {\r
486 +        /// char[255]\r
487 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]\r
488 +        public string name;\r
489 +\r
490 +        /// char[255]\r
491 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]\r
492 +        public string artist;\r
493 +\r
494 +        /// char[255]\r
495 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]\r
496 +        public string composer;\r
497 +\r
498 +        /// char[255]\r
499 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]\r
500 +        public string release_date;\r
501 +\r
502 +        /// char[1024]\r
503 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]\r
504 +        public string comment;\r
505 +\r
506 +        /// char[255]\r
507 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]\r
508 +        public string album;\r
509 +\r
510 +        /// char[255]\r
511 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]\r
512 +        public string genre;\r
513 +\r
514 +        /// uint32_t->unsigned int\r
515 +        public uint coverart_size;\r
516 +\r
517 +        /// uint8_t*\r
518 +        public IntPtr coverart;\r
519 +    }\r
520 +\r
521 +    public enum Anonymous_990d28ea_6cf3_4fbc_8143_4df9513e9550\r
522 +    {\r
523 +        HB_DVD_TYPE,\r
524 +\r
525 +        HB_STREAM_TYPE,\r
526 +    }\r
527 +\r
528 +    public enum Anonymous_618ebeca_0ad9_4a71_9a49_18e50ac2e9db\r
529 +    {\r
530 +        /// HB_MPEG2_PS_DEMUXER -> 0\r
531 +        HB_MPEG2_PS_DEMUXER = 0,\r
532 +\r
533 +        HB_MPEG2_TS_DEMUXER,\r
534 +\r
535 +        HB_NULL_DEMUXER,\r
536 +    }\r
537 +\r
538 +    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]\r
539 +    public struct hb_title_s\r
540 +    {\r
541 +        /// Anonymous_990d28ea_6cf3_4fbc_8143_4df9513e9550\r
542 +        public Anonymous_990d28ea_6cf3_4fbc_8143_4df9513e9550 type;\r
543 +\r
544 +        /// char[1024]\r
545 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]\r
546 +        public string dvd;\r
547 +\r
548 +        /// char[1024]\r
549 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]\r
550 +        public string name;\r
551 +\r
552 +        //public fixed byte dvd[1024];\r
553 +\r
554 +        //public fixed byte name[1024];\r
555 +\r
556 +        /// int\r
557 +        public int index;\r
558 +\r
559 +        /// int\r
560 +        public int vts;\r
561 +\r
562 +        /// int\r
563 +        public int ttn;\r
564 +\r
565 +        /// int\r
566 +        public int cell_start;\r
567 +\r
568 +        /// int\r
569 +        public int cell_end;\r
570 +\r
571 +        /// int\r
572 +        public int block_start;\r
573 +\r
574 +        /// int\r
575 +        public int block_end;\r
576 +\r
577 +        /// int\r
578 +        public int block_count;\r
579 +\r
580 +        /// int\r
581 +        public int angle_count;\r
582 +\r
583 +        /// int\r
584 +        public int hours;\r
585 +\r
586 +        /// int\r
587 +        public int minutes;\r
588 +\r
589 +        /// int\r
590 +        public int seconds;\r
591 +\r
592 +        /// uint64_t->unsigned int\r
593 +        public ulong duration;\r
594 +\r
595 +        /// double\r
596 +        public double aspect;\r
597 +\r
598 +        /// double\r
599 +        public double container_aspect;\r
600 +\r
601 +        /// int\r
602 +        public int width;\r
603 +\r
604 +        /// int\r
605 +        public int height;\r
606 +\r
607 +        /// int\r
608 +        public int pixel_aspect_width;\r
609 +\r
610 +        /// int\r
611 +        public int pixel_aspect_height;\r
612 +\r
613 +        /// int\r
614 +        public int rate;\r
615 +\r
616 +        /// int\r
617 +        public int rate_base;\r
618 +\r
619 +        /// int[4]\r
620 +        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I4)]\r
621 +        public int[] crop;\r
622 +\r
623 +        //public fixed int crop[4];\r
624 +\r
625 +        /// Anonymous_618ebeca_0ad9_4a71_9a49_18e50ac2e9db\r
626 +        public Anonymous_618ebeca_0ad9_4a71_9a49_18e50ac2e9db demuxer;\r
627 +\r
628 +        /// int\r
629 +        public int detected_interlacing;\r
630 +\r
631 +        /// int\r
632 +        public int video_id;\r
633 +\r
634 +        /// int\r
635 +        public int video_codec;\r
636 +\r
637 +        /// int\r
638 +        public int video_codec_param;\r
639 +\r
640 +        /// char*\r
641 +        public IntPtr video_codec_name;\r
642 +\r
643 +        /// int\r
644 +        public int video_bitrate;\r
645 +\r
646 +        /// char*\r
647 +        public IntPtr container_name;\r
648 +\r
649 +        /// int\r
650 +        public int data_rate;\r
651 +\r
652 +        /// hb_metadata_t*\r
653 +        public IntPtr metadata;\r
654 +\r
655 +        /// hb_list_t*\r
656 +        public IntPtr list_chapter;\r
657 +\r
658 +        /// hb_list_t*\r
659 +        public IntPtr list_audio;\r
660 +\r
661 +        /// hb_list_t*\r
662 +        public IntPtr list_subtitle;\r
663 +\r
664 +        /// hb_job_t*\r
665 +        public IntPtr job;\r
666 +\r
667 +        /// uint32_t->unsigned int\r
668 +        public uint flags;\r
669 +    }\r
670 +\r
671 +    [StructLayout(LayoutKind.Sequential)]\r
672 +    public struct hb_state_scanning_s\r
673 +    {\r
674 +        /// int\r
675 +        public int title_cur;\r
676 +\r
677 +        /// int\r
678 +        public int title_count;\r
679 +    }\r
680 +\r
681 +    [StructLayout(LayoutKind.Sequential)]\r
682 +    public struct hb_state_working_s\r
683 +    {\r
684 +        /// float\r
685 +        public float progress;\r
686 +\r
687 +        /// int\r
688 +        public int job_cur;\r
689 +\r
690 +        /// int\r
691 +        public int job_count;\r
692 +\r
693 +        /// float\r
694 +        public float rate_cur;\r
695 +\r
696 +        /// float\r
697 +        public float rate_avg;\r
698 +\r
699 +        /// int\r
700 +        public int hours;\r
701 +\r
702 +        /// int\r
703 +        public int minutes;\r
704 +\r
705 +        /// int\r
706 +        public int seconds;\r
707 +\r
708 +        /// int\r
709 +        public int sequence_id;\r
710 +    }\r
711 +\r
712 +    [StructLayout(LayoutKind.Sequential)]\r
713 +    public struct hb_state_workdone_s\r
714 +    {\r
715 +        /// int\r
716 +        public int error;\r
717 +    }\r
718 +\r
719 +    [StructLayout(LayoutKind.Sequential)]\r
720 +    public struct hb_state_muxing_s\r
721 +    {\r
722 +        /// float\r
723 +        public float progress;\r
724 +    }\r
725 +\r
726 +    [StructLayout(LayoutKind.Explicit)]\r
727 +    public struct hb_state_param_u\r
728 +    {\r
729 +        [FieldOffset(0)]\r
730 +        public hb_state_scanning_s scanning;\r
731 +\r
732 +        [FieldOffset(0)]\r
733 +        public hb_state_working_s working;\r
734 +\r
735 +        [FieldOffset(0)]\r
736 +        public hb_state_workdone_s workdone;\r
737 +\r
738 +        [FieldOffset(0)]\r
739 +        public hb_state_muxing_s muxing;\r
740 +    }\r
741 +\r
742 +    [StructLayout(LayoutKind.Sequential)]\r
743 +    public struct hb_state_s\r
744 +    {\r
745 +\r
746 +        /// int\r
747 +        public int state;\r
748 +        public hb_state_param_u param;\r
749 +    }\r
750 +\r
751 +    [StructLayout(LayoutKind.Sequential)]\r
752 +    public struct hb_audio_s\r
753 +    {\r
754 +        /// int\r
755 +        public int id;\r
756 +\r
757 +        /// hb_audio_config_t->hb_audio_config_s\r
758 +        public hb_audio_config_s config;\r
759 +\r
760 +        // Padding for the part of the struct we don't care about marshaling.\r
761 +        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24600, ArraySubType = UnmanagedType.U1)]\r
762 +        public byte[] padding;\r
763 +\r
764 +        /// Anonymous_e6c7b779_b5a3_4e80_9fa8_13619d14f545\r
765 +        //public Anonymous_e6c7b779_b5a3_4e80_9fa8_13619d14f545 priv;\r
766 +    }\r
767 +\r
768 +    [StructLayout(LayoutKind.Sequential)]\r
769 +    public struct hb_audio_config_s\r
770 +    {\r
771 +        public hb_audio_config_output_s output;\r
772 +        public hb_audio_config_input_s input;\r
773 +\r
774 +        /// Anonymous_a0a59d69_d9a4_4003_a198_f7c51511e31d\r
775 +        public Anonymous_a0a59d69_d9a4_4003_a198_f7c51511e31d flags;\r
776 +\r
777 +        public hb_audio_config_lang_s lang;\r
778 +    }\r
779 +\r
780 +    [StructLayout(LayoutKind.Sequential)]\r
781 +    public struct hb_audio_config_output_s\r
782 +    {\r
783 +        /// int\r
784 +        public int track;\r
785 +\r
786 +        /// uint32_t->unsigned int\r
787 +        public uint codec;\r
788 +\r
789 +        /// int\r
790 +        public int samplerate;\r
791 +\r
792 +        /// int\r
793 +        public int bitrate;\r
794 +\r
795 +        /// int\r
796 +        public int mixdown;\r
797 +\r
798 +        /// double\r
799 +        public double dynamic_range_compression;\r
800 +\r
801 +        /// char*\r
802 +        [MarshalAs(UnmanagedType.LPStr)]\r
803 +        public string name;\r
804 +    }\r
805 +\r
806 +    [StructLayout(LayoutKind.Sequential)]\r
807 +    public struct hb_audio_config_input_s\r
808 +    {\r
809 +        /// int\r
810 +        public int track;\r
811 +\r
812 +        /// uint32_t->unsigned int\r
813 +        public uint codec;\r
814 +\r
815 +        /// uint32_t->unsigned int\r
816 +        public uint codec_param;\r
817 +\r
818 +        /// uint32_t->unsigned int\r
819 +        public uint version;\r
820 +\r
821 +        /// uint32_t->unsigned int\r
822 +        public uint mode;\r
823 +\r
824 +        /// int\r
825 +        public int samplerate;\r
826 +\r
827 +        /// int\r
828 +        public int bitrate;\r
829 +\r
830 +        /// int\r
831 +        public int channel_layout;\r
832 +    }\r
833 +\r
834 +    [StructLayout(LayoutKind.Explicit)]\r
835 +    public struct Anonymous_a0a59d69_d9a4_4003_a198_f7c51511e31d\r
836 +    {\r
837 +        /// int\r
838 +        [FieldOffset(0)]\r
839 +        public int ac3;\r
840 +\r
841 +        /// int\r
842 +        [FieldOffset(0)]\r
843 +        public int dca;\r
844 +    }\r
845 +\r
846 +    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]\r
847 +    public struct hb_audio_config_lang_s\r
848 +    {\r
849 +        /// char[1024]\r
850 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]\r
851 +        public string description;\r
852 +\r
853 +        /// char[1024]\r
854 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]\r
855 +        public string simple;\r
856 +\r
857 +        /// char[4]\r
858 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]\r
859 +        public string iso639_2;\r
860 +\r
861 +        /// uint8_t->unsigned char\r
862 +        public byte type;\r
863 +    }\r
864 +\r
865 +    [StructLayout(LayoutKind.Sequential)]\r
866 +    public struct hb_mixdown_s\r
867 +    {\r
868 +        /// char*\r
869 +        [MarshalAs(UnmanagedType.LPStr)]\r
870 +        public string human_readable_name;\r
871 +\r
872 +        /// char*\r
873 +        [MarshalAs(UnmanagedType.LPStr)]\r
874 +        public string internal_name;\r
875 +\r
876 +        /// char*\r
877 +        [MarshalAs(UnmanagedType.LPStr)]\r
878 +        public string short_name;\r
879 +\r
880 +        /// int\r
881 +        public int amixdown;\r
882 +    }\r
883 +\r
884 +    public enum hb_subtitle_config_s_subdest\r
885 +    {\r
886 +        RENDERSUB,\r
887 +\r
888 +        PASSTHRUSUB,\r
889 +    }\r
890 +\r
891 +    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]\r
892 +    public struct hb_subtitle_config_s\r
893 +    {\r
894 +        /// hb_subtitle_config_s_subdest\r
895 +        public hb_subtitle_config_s_subdest dest;\r
896 +\r
897 +        /// int\r
898 +        public int force;\r
899 +\r
900 +        /// int\r
901 +        public int default_track;\r
902 +\r
903 +        /// char[128]\r
904 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]\r
905 +        public string src_filename;\r
906 +\r
907 +        /// char[40]\r
908 +        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)]\r
909 +        public string src_codeset;\r
910 +\r
911 +        /// int64_t->int\r
912 +        public long offset;\r
913 +    }\r
914 +\r
915 +    [StructLayout(LayoutKind.Sequential)]\r
916 +    public struct hb_fifo_s\r
917 +    {\r
918 +        /// hb_lock_t*\r
919 +        public IntPtr @lock;\r
920 +\r
921 +        /// uint32_t->unsigned int\r
922 +        public uint capacity;\r
923 +\r
924 +        /// uint32_t->unsigned int\r
925 +        public uint size;\r
926 +\r
927 +        /// uint32_t->unsigned int\r
928 +        public uint buffer_size;\r
929 +\r
930 +        /// hb_buffer_t*\r
931 +        public IntPtr first;\r
932 +\r
933 +        /// hb_buffer_t*\r
934 +        public IntPtr last;\r
935 +    }\r
936 +\r
937 +    [StructLayout(LayoutKind.Sequential)]\r
938 +    public struct hb_lock_s\r
939 +    {\r
940 +    }\r
941 +\r
942 +    [StructLayout(LayoutKind.Sequential)]\r
943 +    public struct hb_buffer_s\r
944 +    {\r
945 +        /// int\r
946 +        public int size;\r
947 +\r
948 +        /// int\r
949 +        public int alloc;\r
950 +\r
951 +        /// uint8_t*\r
952 +        [MarshalAs(UnmanagedType.LPStr)]\r
953 +        public string data;\r
954 +\r
955 +        /// int\r
956 +        public int cur;\r
957 +\r
958 +        /// int64_t->int\r
959 +        public long sequence;\r
960 +\r
961 +        /// int\r
962 +        public int id;\r
963 +\r
964 +        /// int64_t->int\r
965 +        public long start;\r
966 +\r
967 +        /// int64_t->int\r
968 +        public long stop;\r
969 +\r
970 +        /// int\r
971 +        public int new_chap;\r
972 +\r
973 +        /// uint8_t->unsigned char\r
974 +        public byte frametype;\r
975 +\r
976 +        /// uint16_t->unsigned int\r
977 +        public uint flags;\r
978 +\r
979 +        /// int64_t->int\r
980 +        public long renderOffset;\r
981 +\r
982 +        /// int\r
983 +        public int x;\r
984 +\r
985 +        /// int\r
986 +        public int y;\r
987 +\r
988 +        /// int\r
989 +        public int width;\r
990 +\r
991 +        /// int\r
992 +        public int height;\r
993 +\r
994 +        /// hb_buffer_t*\r
995 +        public IntPtr sub;\r
996 +\r
997 +        /// hb_buffer_t*\r
998 +        public IntPtr next;\r
999 +    }\r
1000 +\r
1001 +    [StructLayout(LayoutKind.Sequential)]\r
1002 +    public struct hb_mux_data_s\r
1003 +    {\r
1004 +        /// MP4TrackId->uint32_t->unsigned int\r
1005 +        public uint track;\r
1006 +\r
1007 +        /// uint8_t->unsigned char\r
1008 +        public byte subtitle;\r
1009 +\r
1010 +        /// int\r
1011 +        public int sub_format;\r
1012 +\r
1013 +        /// uint64_t->unsigned int\r
1014 +        public ulong sum_dur;\r
1015 +    }\r
1016 +\r
1017 +    [StructLayout(LayoutKind.Sequential)]\r
1018 +    public struct hb_interjob_s\r
1019 +    {\r
1020 +        /// int\r
1021 +        public int last_job;\r
1022 +\r
1023 +        /// int\r
1024 +        public int frame_count;\r
1025 +\r
1026 +        /// uint64_t->unsigned int\r
1027 +        public ulong total_time;\r
1028 +\r
1029 +        /// int\r
1030 +        public int render_dropped;\r
1031 +\r
1032 +        /// int\r
1033 +        public int vrate;\r
1034 +\r
1035 +        /// int\r
1036 +        public int vrate_base;\r
1037 +\r
1038 +        /// hb_subtitle_t*\r
1039 +        public IntPtr select_subtitle;\r
1040 +    }\r
1041 +\r
1042 +    /// Return Type: void\r
1043 +    ///param0: void*\r
1044 +    public delegate void hb_thread_s_function(IntPtr param0);\r
1045 +\r
1046 +    [StructLayout(LayoutKind.Sequential)]\r
1047 +    public struct hb_thread_s\r
1048 +    {\r
1049 +        /// char*\r
1050 +        [MarshalAs(UnmanagedType.LPStr)]\r
1051 +        public string name;\r
1052 +\r
1053 +        /// int\r
1054 +        public int priority;\r
1055 +\r
1056 +        /// hb_thread_s_function\r
1057 +        public hb_thread_s_function AnonymousMember1;\r
1058 +\r
1059 +        /// void*\r
1060 +        public IntPtr arg;\r
1061 +\r
1062 +        /// hb_lock_t*\r
1063 +        public IntPtr @lock;\r
1064 +\r
1065 +        /// int\r
1066 +        public int exited;\r
1067 +\r
1068 +        /// pthread_t->ptw32_handle_t->Anonymous_55c509b5_bbf2_4788_a684_ac1bd0056655\r
1069 +        public ptw32_handle_t thread;\r
1070 +    }\r
1071 +\r
1072 +    [StructLayout(LayoutKind.Sequential)]\r
1073 +    public struct ptw32_handle_t\r
1074 +    {\r
1075 +        /// void*\r
1076 +        public IntPtr p;\r
1077 +\r
1078 +        /// unsigned int\r
1079 +        public uint x;\r
1080 +    }\r
1081 +\r
1082 +    [UnmanagedFunctionPointer(CallingConvention.Cdecl)]\r
1083 +    public delegate void LoggingCallback(string message);\r
1084 +\r
1085 +    public partial class HbLib\r
1086 +    {\r
1087 +        [DllImport("hb.dll", EntryPoint = "hb_calc_bitrate", CallingConvention = CallingConvention.Cdecl)]\r
1088 +        public static extern int hb_calc_bitrate(ref hb_job_s job, int size);\r
1089 +\r
1090 +        [DllImport("hb.dll", EntryPoint = "hb_register_logger", CallingConvention = CallingConvention.Cdecl)]\r
1091 +        public static extern void hb_register_logger(LoggingCallback callback);\r
1092 +\r
1093 +        [DllImport("hb.dll", EntryPoint = "hb_register_error_handler", CallingConvention = CallingConvention.Cdecl)]\r
1094 +        public static extern void hb_register_error_handler(LoggingCallback callback);\r
1095 +\r
1096 +        /// Return Type: hb_handle_t*\r
1097 +        ///verbose: int\r
1098 +        ///update_check: int\r
1099 +        [DllImport("hb.dll", EntryPoint = "hb_init", CallingConvention = CallingConvention.Cdecl)]\r
1100 +        public static extern IntPtr hb_init(int verbose, int update_check);\r
1101 +\r
1102 +\r
1103 +        /// Return Type: hb_handle_t*\r
1104 +        ///verbose: int\r
1105 +        ///update_check: int\r
1106 +        [DllImport("hb.dll", EntryPoint = "hb_init_dl", CallingConvention = CallingConvention.Cdecl)]\r
1107 +        public static extern IntPtr hb_init_dl(int verbose, int update_check);\r
1108 +\r
1109 +\r
1110 +        /// Return Type: char*\r
1111 +        ///param0: hb_handle_t*\r
1112 +        [DllImport("hb.dll", EntryPoint = "hb_get_version", CallingConvention = CallingConvention.Cdecl)]\r
1113 +        public static extern IntPtr hb_get_version(ref hb_handle_s param0);\r
1114 +\r
1115 +\r
1116 +        /// Return Type: int\r
1117 +        ///param0: hb_handle_t*\r
1118 +        [DllImport("hb.dll", EntryPoint = "hb_get_build", CallingConvention = CallingConvention.Cdecl)]\r
1119 +        public static extern int hb_get_build(ref hb_handle_s param0);\r
1120 +\r
1121 +\r
1122 +        /// Return Type: int\r
1123 +        ///h: hb_handle_t*\r
1124 +        ///version: char**\r
1125 +        [DllImport("hb.dll", EntryPoint = "hb_check_update", CallingConvention = CallingConvention.Cdecl)]\r
1126 +        public static extern int hb_check_update(ref hb_handle_s h, ref IntPtr version);\r
1127 +\r
1128 +\r
1129 +        /// Return Type: void\r
1130 +        ///param0: hb_handle_t*\r
1131 +        ///param1: int\r
1132 +        [DllImport("hb.dll", EntryPoint = "hb_set_cpu_count", CallingConvention = CallingConvention.Cdecl)]\r
1133 +        public static extern void hb_set_cpu_count(ref hb_handle_s param0, int param1);\r
1134 +\r
1135 +\r
1136 +        /// Return Type: char*\r
1137 +        ///path: char*\r
1138 +        [DllImport("hb.dll", EntryPoint = "hb_dvd_name", CallingConvention = CallingConvention.Cdecl)]\r
1139 +        public static extern IntPtr hb_dvd_name(IntPtr path);\r
1140 +\r
1141 +\r
1142 +        /// Return Type: void\r
1143 +        ///enable: int\r
1144 +        [DllImport("hb.dll", EntryPoint = "hb_dvd_set_dvdnav", CallingConvention = CallingConvention.Cdecl)]\r
1145 +        public static extern void hb_dvd_set_dvdnav(int enable);\r
1146 +\r
1147 +\r
1148 +        /// Return Type: void\r
1149 +        ///param0: hb_handle_t*\r
1150 +        ///path: char*\r
1151 +        ///title_index: int\r
1152 +        ///preview_count: int\r
1153 +        ///store_previews: int\r
1154 +        [DllImport("hb.dll", EntryPoint = "hb_scan", CallingConvention = CallingConvention.Cdecl)]\r
1155 +        public static extern void hb_scan(IntPtr hbHandle, [In] [MarshalAs(UnmanagedType.LPStr)] string path, int title_index, int preview_count, int store_previews);\r
1156 +\r
1157 +\r
1158 +        /// Return Type: hb_list_t*\r
1159 +        ///param0: hb_handle_t*\r
1160 +        [DllImport("hb.dll", EntryPoint = "hb_get_titles", CallingConvention = CallingConvention.Cdecl)]\r
1161 +        public static extern IntPtr hb_get_titles(IntPtr hbHandle);\r
1162 +\r
1163 +\r
1164 +        /// Return Type: int\r
1165 +        ///buf: hb_buffer_t*\r
1166 +        ///width: int\r
1167 +        ///height: int\r
1168 +        ///color_equal: int\r
1169 +        ///color_diff: int\r
1170 +        ///threshold: int\r
1171 +        ///prog_equal: int\r
1172 +        ///prog_diff: int\r
1173 +        ///prog_threshold: int\r
1174 +        [DllImport("hb.dll", EntryPoint = "hb_detect_comb", CallingConvention = CallingConvention.Cdecl)]\r
1175 +        public static extern int hb_detect_comb(ref hb_buffer_s buf, int width, int height, int color_equal, int color_diff, int threshold, int prog_equal, int prog_diff, int prog_threshold);\r
1176 +\r
1177 +        [DllImport("hb.dll", EntryPoint = "hb_get_preview_by_index", CallingConvention = CallingConvention.Cdecl)]\r
1178 +        public static extern void hb_get_preview_by_index(IntPtr hbHandle, int title_index, int picture, IntPtr buffer);\r
1179 +\r
1180 +        /// Return Type: void\r
1181 +        ///param0: hb_handle_t*\r
1182 +        ///param1: hb_title_t*\r
1183 +        ///param2: int\r
1184 +        ///param3: uint8_t*\r
1185 +        [DllImport("hb.dll", EntryPoint = "hb_get_preview", CallingConvention = CallingConvention.Cdecl)]\r
1186 +        public static extern void hb_get_preview(IntPtr hbHandle, ref hb_title_s title, int preview, IntPtr buffer);\r
1187 +\r
1188 +\r
1189 +        /// Return Type: void\r
1190 +        ///param0: hb_job_t*\r
1191 +        ///ratio: double\r
1192 +        ///pixels: int\r
1193 +        [DllImport("hb.dll", EntryPoint = "hb_set_size", CallingConvention = CallingConvention.Cdecl)]\r
1194 +        public static extern void hb_set_size(ref hb_job_s param0, double ratio, int pixels);\r
1195 +\r
1196 +        [DllImport("hb.dll", EntryPoint = "hb_set_anamorphic_size_by_index", CallingConvention = CallingConvention.Cdecl)]\r
1197 +        public static extern void hb_set_anamorphic_size_by_index(IntPtr hbHandle, int title_index, ref int output_width, ref int output_height, ref int output_par_width, ref int output_par_height);\r
1198 +\r
1199 +        /// Return Type: void\r
1200 +        ///param0: hb_job_t*\r
1201 +        ///output_width: int*\r
1202 +        ///output_height: int*\r
1203 +        ///output_par_width: int*\r
1204 +        ///output_par_height: int*\r
1205 +        [DllImport("hb.dll", EntryPoint = "hb_set_anamorphic_size", CallingConvention = CallingConvention.Cdecl)]\r
1206 +        public static extern void hb_set_anamorphic_size(ref hb_job_s job, ref int output_width, ref int output_height, ref int output_par_width, ref int output_par_height);\r
1207 +\r
1208 +\r
1209 +        /// Return Type: int\r
1210 +        ///param0: hb_handle_t*\r
1211 +        [DllImport("hb.dll", EntryPoint = "hb_count", CallingConvention = CallingConvention.Cdecl)]\r
1212 +        public static extern int hb_count(IntPtr hbHandle);\r
1213 +\r
1214 +\r
1215 +        /// Return Type: hb_job_t*\r
1216 +        ///param0: hb_handle_t*\r
1217 +        ///param1: int\r
1218 +        [DllImport("hb.dll", EntryPoint = "hb_job", CallingConvention = CallingConvention.Cdecl)]\r
1219 +        public static extern IntPtr hb_job(IntPtr hbHandle, int jobIndex);\r
1220 +\r
1221 +        [DllImport("hb.dll", EntryPoint = "hb_set_chapter_name", CallingConvention = CallingConvention.Cdecl)]\r
1222 +        public static extern void hb_set_chapter_name(IntPtr hbHandle, int title_index, int chapter_index, [In] [MarshalAs(UnmanagedType.LPStr)] string chapter_name);\r
1223 +\r
1224 +        [DllImport("hb.dll", EntryPoint = "hb_set_job", CallingConvention = CallingConvention.Cdecl)]\r
1225 +        public static extern void hb_set_job(IntPtr hbHandle, int title_index, ref hb_job_s job);\r
1226 +\r
1227 +        /// Return Type: void\r
1228 +        ///param0: hb_handle_t*\r
1229 +        ///param1: hb_job_t*\r
1230 +        [DllImport("hb.dll", EntryPoint = "hb_add", CallingConvention = CallingConvention.Cdecl)]\r
1231 +        public static extern void hb_add(IntPtr hbHandle, ref hb_job_s job);\r
1232 +\r
1233 +\r
1234 +        /// Return Type: void\r
1235 +        ///param0: hb_handle_t*\r
1236 +        ///param1: hb_job_t*\r
1237 +        [DllImport("hb.dll", EntryPoint = "hb_rem", CallingConvention = CallingConvention.Cdecl)]\r
1238 +        public static extern void hb_rem(IntPtr hbHandle, IntPtr job);\r
1239 +\r
1240 +\r
1241 +        /// Return Type: void\r
1242 +        ///param0: hb_handle_t*\r
1243 +        [DllImport("hb.dll", EntryPoint = "hb_start", CallingConvention = CallingConvention.Cdecl)]\r
1244 +        public static extern void hb_start(IntPtr hbHandle);\r
1245 +\r
1246 +\r
1247 +        /// Return Type: void\r
1248 +        ///param0: hb_handle_t*\r
1249 +        [DllImport("hb.dll", EntryPoint = "hb_pause", CallingConvention = CallingConvention.Cdecl)]\r
1250 +        public static extern void hb_pause(IntPtr hbHandle);\r
1251 +\r
1252 +\r
1253 +        /// Return Type: void\r
1254 +        ///param0: hb_handle_t*\r
1255 +        [DllImport("hb.dll", EntryPoint = "hb_resume", CallingConvention = CallingConvention.Cdecl)]\r
1256 +        public static extern void hb_resume(IntPtr hbHandle);\r
1257 +\r
1258 +\r
1259 +        /// Return Type: void\r
1260 +        ///param0: hb_handle_t*\r
1261 +        [DllImport("hb.dll", EntryPoint = "hb_stop", CallingConvention = CallingConvention.Cdecl)]\r
1262 +        public static extern void hb_stop(IntPtr hbHandle);\r
1263 +\r
1264 +        [DllImport("hb.dll", EntryPoint = "hb_get_filter_object", CallingConvention = CallingConvention.Cdecl)]\r
1265 +        //public static extern IntPtr hb_get_filter_object(int filter_id, [In] [MarshalAs(UnmanagedType.LPStr)] string settings);\r
1266 +        public static extern IntPtr hb_get_filter_object(int filter_id, IntPtr settings);\r
1267 +\r
1268 +        /// Return Type: void\r
1269 +        ///param0: hb_handle_t*\r
1270 +        ///param1: hb_state_t*\r
1271 +        [DllImport("hb.dll", EntryPoint = "hb_get_state", CallingConvention = CallingConvention.Cdecl)]\r
1272 +        public static extern void hb_get_state(IntPtr hbHandle, ref hb_state_s state);\r
1273 +\r
1274 +\r
1275 +        /// Return Type: void\r
1276 +        ///param0: hb_handle_t*\r
1277 +        ///param1: hb_state_t*\r
1278 +        [DllImport("hb.dll", EntryPoint = "hb_get_state2", CallingConvention = CallingConvention.Cdecl)]\r
1279 +        public static extern void hb_get_state2(ref hb_handle_s param0, ref hb_state_s param1);\r
1280 +\r
1281 +\r
1282 +        /// Return Type: int\r
1283 +        ///param0: hb_handle_t*\r
1284 +        [DllImport("hb.dll", EntryPoint = "hb_get_scancount", CallingConvention = CallingConvention.Cdecl)]\r
1285 +        public static extern int hb_get_scancount(ref hb_handle_s param0);\r
1286 +\r
1287 +\r
1288 +        /// Return Type: void\r
1289 +        ///param0: hb_handle_t**\r
1290 +        [DllImport("hb.dll", EntryPoint = "hb_close", CallingConvention = CallingConvention.Cdecl)]\r
1291 +        public static extern void hb_close(IntPtr hbHandle);\r
1292 +\r
1293 +        [DllImport("hb.dll", EntryPoint = "hb_global_close", CallingConvention = CallingConvention.Cdecl)]\r
1294 +        public static extern void hb_global_close();\r
1295 +    }\r
1296 +}\r