This file is indexed.

/usr/include/fsoframework-2.0/fsotransport.h is in libfsoframework-dev 0.12.0-7.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
/* fsotransport.h generated by valac 0.30.0, the Vala compiler, do not modify */


#ifndef __FSOTRANSPORT_H__
#define __FSOTRANSPORT_H__

#include <glib.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <fsobasics.h>
#include <termios.h>

G_BEGIN_DECLS


#define FSO_FRAMEWORK_TYPE_TRANSPORT (fso_framework_transport_get_type ())
#define FSO_FRAMEWORK_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_TRANSPORT, FsoFrameworkTransport))
#define FSO_FRAMEWORK_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_TRANSPORT, FsoFrameworkTransportClass))
#define FSO_FRAMEWORK_IS_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_TRANSPORT))
#define FSO_FRAMEWORK_IS_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_TRANSPORT))
#define FSO_FRAMEWORK_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_TRANSPORT, FsoFrameworkTransportClass))

typedef struct _FsoFrameworkTransport FsoFrameworkTransport;
typedef struct _FsoFrameworkTransportClass FsoFrameworkTransportClass;
typedef struct _FsoFrameworkTransportPrivate FsoFrameworkTransportPrivate;

#define FSO_FRAMEWORK_TYPE_BASE_TRANSPORT (fso_framework_base_transport_get_type ())
#define FSO_FRAMEWORK_BASE_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_BASE_TRANSPORT, FsoFrameworkBaseTransport))
#define FSO_FRAMEWORK_BASE_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_BASE_TRANSPORT, FsoFrameworkBaseTransportClass))
#define FSO_FRAMEWORK_IS_BASE_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_BASE_TRANSPORT))
#define FSO_FRAMEWORK_IS_BASE_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_BASE_TRANSPORT))
#define FSO_FRAMEWORK_BASE_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_BASE_TRANSPORT, FsoFrameworkBaseTransportClass))

typedef struct _FsoFrameworkBaseTransport FsoFrameworkBaseTransport;
typedef struct _FsoFrameworkBaseTransportClass FsoFrameworkBaseTransportClass;
typedef struct _FsoFrameworkBaseTransportPrivate FsoFrameworkBaseTransportPrivate;

#define FSO_FRAMEWORK_TYPE_COMMAND_QUEUE (fso_framework_command_queue_get_type ())
#define FSO_FRAMEWORK_COMMAND_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_COMMAND_QUEUE, FsoFrameworkCommandQueue))
#define FSO_FRAMEWORK_IS_COMMAND_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_COMMAND_QUEUE))
#define FSO_FRAMEWORK_COMMAND_QUEUE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FSO_FRAMEWORK_TYPE_COMMAND_QUEUE, FsoFrameworkCommandQueueIface))

typedef struct _FsoFrameworkCommandQueue FsoFrameworkCommandQueue;
typedef struct _FsoFrameworkCommandQueueIface FsoFrameworkCommandQueueIface;

#define FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_HANDLER (fso_framework_abstract_command_handler_get_type ())
#define FSO_FRAMEWORK_ABSTRACT_COMMAND_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_HANDLER, FsoFrameworkAbstractCommandHandler))
#define FSO_FRAMEWORK_ABSTRACT_COMMAND_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_HANDLER, FsoFrameworkAbstractCommandHandlerClass))
#define FSO_FRAMEWORK_IS_ABSTRACT_COMMAND_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_HANDLER))
#define FSO_FRAMEWORK_IS_ABSTRACT_COMMAND_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_HANDLER))
#define FSO_FRAMEWORK_ABSTRACT_COMMAND_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_HANDLER, FsoFrameworkAbstractCommandHandlerClass))

typedef struct _FsoFrameworkAbstractCommandHandler FsoFrameworkAbstractCommandHandler;
typedef struct _FsoFrameworkAbstractCommandHandlerClass FsoFrameworkAbstractCommandHandlerClass;
typedef struct _FsoFrameworkAbstractCommandHandlerPrivate FsoFrameworkAbstractCommandHandlerPrivate;

#define FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_QUEUE (fso_framework_abstract_command_queue_get_type ())
#define FSO_FRAMEWORK_ABSTRACT_COMMAND_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_QUEUE, FsoFrameworkAbstractCommandQueue))
#define FSO_FRAMEWORK_ABSTRACT_COMMAND_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_QUEUE, FsoFrameworkAbstractCommandQueueClass))
#define FSO_FRAMEWORK_IS_ABSTRACT_COMMAND_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_QUEUE))
#define FSO_FRAMEWORK_IS_ABSTRACT_COMMAND_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_QUEUE))
#define FSO_FRAMEWORK_ABSTRACT_COMMAND_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_ABSTRACT_COMMAND_QUEUE, FsoFrameworkAbstractCommandQueueClass))

typedef struct _FsoFrameworkAbstractCommandQueue FsoFrameworkAbstractCommandQueue;
typedef struct _FsoFrameworkAbstractCommandQueueClass FsoFrameworkAbstractCommandQueueClass;
typedef struct _FsoFrameworkAbstractCommandQueuePrivate FsoFrameworkAbstractCommandQueuePrivate;

#define FSO_FRAMEWORK_TYPE_DELEGATE_TRANSPORT (fso_framework_delegate_transport_get_type ())
#define FSO_FRAMEWORK_DELEGATE_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_DELEGATE_TRANSPORT, FsoFrameworkDelegateTransport))
#define FSO_FRAMEWORK_DELEGATE_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_DELEGATE_TRANSPORT, FsoFrameworkDelegateTransportClass))
#define FSO_FRAMEWORK_IS_DELEGATE_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_DELEGATE_TRANSPORT))
#define FSO_FRAMEWORK_IS_DELEGATE_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_DELEGATE_TRANSPORT))
#define FSO_FRAMEWORK_DELEGATE_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_DELEGATE_TRANSPORT, FsoFrameworkDelegateTransportClass))

typedef struct _FsoFrameworkDelegateTransport FsoFrameworkDelegateTransport;
typedef struct _FsoFrameworkDelegateTransportClass FsoFrameworkDelegateTransportClass;
typedef struct _FsoFrameworkDelegateTransportPrivate FsoFrameworkDelegateTransportPrivate;

#define FSO_FRAMEWORK_TYPE_NULL_TRANSPORT (fso_framework_null_transport_get_type ())
#define FSO_FRAMEWORK_NULL_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_NULL_TRANSPORT, FsoFrameworkNullTransport))
#define FSO_FRAMEWORK_NULL_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_NULL_TRANSPORT, FsoFrameworkNullTransportClass))
#define FSO_FRAMEWORK_IS_NULL_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_NULL_TRANSPORT))
#define FSO_FRAMEWORK_IS_NULL_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_NULL_TRANSPORT))
#define FSO_FRAMEWORK_NULL_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_NULL_TRANSPORT, FsoFrameworkNullTransportClass))

typedef struct _FsoFrameworkNullTransport FsoFrameworkNullTransport;
typedef struct _FsoFrameworkNullTransportClass FsoFrameworkNullTransportClass;
typedef struct _FsoFrameworkNullTransportPrivate FsoFrameworkNullTransportPrivate;

#define FSO_FRAMEWORK_TYPE_PARSER (fso_framework_parser_get_type ())
#define FSO_FRAMEWORK_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_PARSER, FsoFrameworkParser))
#define FSO_FRAMEWORK_IS_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_PARSER))
#define FSO_FRAMEWORK_PARSER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FSO_FRAMEWORK_TYPE_PARSER, FsoFrameworkParserIface))

typedef struct _FsoFrameworkParser FsoFrameworkParser;
typedef struct _FsoFrameworkParserIface FsoFrameworkParserIface;

#define FSO_FRAMEWORK_TYPE_BASE_PARSER (fso_framework_base_parser_get_type ())
#define FSO_FRAMEWORK_BASE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_BASE_PARSER, FsoFrameworkBaseParser))
#define FSO_FRAMEWORK_BASE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_BASE_PARSER, FsoFrameworkBaseParserClass))
#define FSO_FRAMEWORK_IS_BASE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_BASE_PARSER))
#define FSO_FRAMEWORK_IS_BASE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_BASE_PARSER))
#define FSO_FRAMEWORK_BASE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_BASE_PARSER, FsoFrameworkBaseParserClass))

typedef struct _FsoFrameworkBaseParser FsoFrameworkBaseParser;
typedef struct _FsoFrameworkBaseParserClass FsoFrameworkBaseParserClass;
typedef struct _FsoFrameworkBaseParserPrivate FsoFrameworkBaseParserPrivate;

#define FSO_FRAMEWORK_TYPE_NULL_PARSER (fso_framework_null_parser_get_type ())
#define FSO_FRAMEWORK_NULL_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_NULL_PARSER, FsoFrameworkNullParser))
#define FSO_FRAMEWORK_NULL_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_NULL_PARSER, FsoFrameworkNullParserClass))
#define FSO_FRAMEWORK_IS_NULL_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_NULL_PARSER))
#define FSO_FRAMEWORK_IS_NULL_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_NULL_PARSER))
#define FSO_FRAMEWORK_NULL_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_NULL_PARSER, FsoFrameworkNullParserClass))

typedef struct _FsoFrameworkNullParser FsoFrameworkNullParser;
typedef struct _FsoFrameworkNullParserClass FsoFrameworkNullParserClass;
typedef struct _FsoFrameworkNullParserPrivate FsoFrameworkNullParserPrivate;

#define FSO_FRAMEWORK_TYPE_LINE_BY_LINE_PARSER (fso_framework_line_by_line_parser_get_type ())
#define FSO_FRAMEWORK_LINE_BY_LINE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_LINE_BY_LINE_PARSER, FsoFrameworkLineByLineParser))
#define FSO_FRAMEWORK_LINE_BY_LINE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_LINE_BY_LINE_PARSER, FsoFrameworkLineByLineParserClass))
#define FSO_FRAMEWORK_IS_LINE_BY_LINE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_LINE_BY_LINE_PARSER))
#define FSO_FRAMEWORK_IS_LINE_BY_LINE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_LINE_BY_LINE_PARSER))
#define FSO_FRAMEWORK_LINE_BY_LINE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_LINE_BY_LINE_PARSER, FsoFrameworkLineByLineParserClass))

typedef struct _FsoFrameworkLineByLineParser FsoFrameworkLineByLineParser;
typedef struct _FsoFrameworkLineByLineParserClass FsoFrameworkLineByLineParserClass;
typedef struct _FsoFrameworkLineByLineParserPrivate FsoFrameworkLineByLineParserPrivate;

#define FSO_FRAMEWORK_TYPE_FD_PIPE (fso_framework_fd_pipe_get_type ())
#define FSO_FRAMEWORK_FD_PIPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_FD_PIPE, FsoFrameworkFdPipe))
#define FSO_FRAMEWORK_FD_PIPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_FD_PIPE, FsoFrameworkFdPipeClass))
#define FSO_FRAMEWORK_IS_FD_PIPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_FD_PIPE))
#define FSO_FRAMEWORK_IS_FD_PIPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_FD_PIPE))
#define FSO_FRAMEWORK_FD_PIPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_FD_PIPE, FsoFrameworkFdPipeClass))

typedef struct _FsoFrameworkFdPipe FsoFrameworkFdPipe;
typedef struct _FsoFrameworkFdPipeClass FsoFrameworkFdPipeClass;
typedef struct _FsoFrameworkFdPipePrivate FsoFrameworkFdPipePrivate;

#define FSO_FRAMEWORK_TYPE_PTY_TRANSPORT (fso_framework_pty_transport_get_type ())
#define FSO_FRAMEWORK_PTY_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_PTY_TRANSPORT, FsoFrameworkPtyTransport))
#define FSO_FRAMEWORK_PTY_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_PTY_TRANSPORT, FsoFrameworkPtyTransportClass))
#define FSO_FRAMEWORK_IS_PTY_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_PTY_TRANSPORT))
#define FSO_FRAMEWORK_IS_PTY_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_PTY_TRANSPORT))
#define FSO_FRAMEWORK_PTY_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_PTY_TRANSPORT, FsoFrameworkPtyTransportClass))

typedef struct _FsoFrameworkPtyTransport FsoFrameworkPtyTransport;
typedef struct _FsoFrameworkPtyTransportClass FsoFrameworkPtyTransportClass;
typedef struct _FsoFrameworkPtyTransportPrivate FsoFrameworkPtyTransportPrivate;

#define FSO_FRAMEWORK_TYPE_SERIAL_TRANSPORT (fso_framework_serial_transport_get_type ())
#define FSO_FRAMEWORK_SERIAL_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_SERIAL_TRANSPORT, FsoFrameworkSerialTransport))
#define FSO_FRAMEWORK_SERIAL_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_SERIAL_TRANSPORT, FsoFrameworkSerialTransportClass))
#define FSO_FRAMEWORK_IS_SERIAL_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_SERIAL_TRANSPORT))
#define FSO_FRAMEWORK_IS_SERIAL_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_SERIAL_TRANSPORT))
#define FSO_FRAMEWORK_SERIAL_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_SERIAL_TRANSPORT, FsoFrameworkSerialTransportClass))

typedef struct _FsoFrameworkSerialTransport FsoFrameworkSerialTransport;
typedef struct _FsoFrameworkSerialTransportClass FsoFrameworkSerialTransportClass;
typedef struct _FsoFrameworkSerialTransportPrivate FsoFrameworkSerialTransportPrivate;

#define FSO_FRAMEWORK_TYPE_SOCKET_TRANSPORT (fso_framework_socket_transport_get_type ())
#define FSO_FRAMEWORK_SOCKET_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_SOCKET_TRANSPORT, FsoFrameworkSocketTransport))
#define FSO_FRAMEWORK_SOCKET_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_SOCKET_TRANSPORT, FsoFrameworkSocketTransportClass))
#define FSO_FRAMEWORK_IS_SOCKET_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_SOCKET_TRANSPORT))
#define FSO_FRAMEWORK_IS_SOCKET_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_SOCKET_TRANSPORT))
#define FSO_FRAMEWORK_SOCKET_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_SOCKET_TRANSPORT, FsoFrameworkSocketTransportClass))

typedef struct _FsoFrameworkSocketTransport FsoFrameworkSocketTransport;
typedef struct _FsoFrameworkSocketTransportClass FsoFrameworkSocketTransportClass;
typedef struct _FsoFrameworkSocketTransportPrivate FsoFrameworkSocketTransportPrivate;

#define FSO_FRAMEWORK_TYPE_TRANSPORT_STATE (fso_framework_transport_state_get_type ())

#define FSO_FRAMEWORK_TYPE_TRANSPORT_SPEC (fso_framework_transport_spec_get_type ())
#define FSO_FRAMEWORK_TRANSPORT_SPEC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_TRANSPORT_SPEC, FsoFrameworkTransportSpec))
#define FSO_FRAMEWORK_TRANSPORT_SPEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_TRANSPORT_SPEC, FsoFrameworkTransportSpecClass))
#define FSO_FRAMEWORK_IS_TRANSPORT_SPEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_TRANSPORT_SPEC))
#define FSO_FRAMEWORK_IS_TRANSPORT_SPEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_TRANSPORT_SPEC))
#define FSO_FRAMEWORK_TRANSPORT_SPEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_TRANSPORT_SPEC, FsoFrameworkTransportSpecClass))

typedef struct _FsoFrameworkTransportSpec FsoFrameworkTransportSpec;
typedef struct _FsoFrameworkTransportSpecClass FsoFrameworkTransportSpecClass;
typedef struct _FsoFrameworkTransportSpecPrivate FsoFrameworkTransportSpecPrivate;

#define FSO_FRAMEWORK_TYPE_RAW_TRANSPORT (fso_framework_raw_transport_get_type ())
#define FSO_FRAMEWORK_RAW_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_RAW_TRANSPORT, FsoFrameworkRawTransport))
#define FSO_FRAMEWORK_RAW_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_RAW_TRANSPORT, FsoFrameworkRawTransportClass))
#define FSO_FRAMEWORK_IS_RAW_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_RAW_TRANSPORT))
#define FSO_FRAMEWORK_IS_RAW_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_RAW_TRANSPORT))
#define FSO_FRAMEWORK_RAW_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_RAW_TRANSPORT, FsoFrameworkRawTransportClass))

typedef struct _FsoFrameworkRawTransport FsoFrameworkRawTransport;
typedef struct _FsoFrameworkRawTransportClass FsoFrameworkRawTransportClass;
typedef struct _FsoFrameworkRawTransportPrivate FsoFrameworkRawTransportPrivate;

#define FSO_FRAMEWORK_TYPE_COMBINED_TRANSPORT (fso_framework_combined_transport_get_type ())
#define FSO_FRAMEWORK_COMBINED_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_COMBINED_TRANSPORT, FsoFrameworkCombinedTransport))
#define FSO_FRAMEWORK_COMBINED_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_COMBINED_TRANSPORT, FsoFrameworkCombinedTransportClass))
#define FSO_FRAMEWORK_IS_COMBINED_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_COMBINED_TRANSPORT))
#define FSO_FRAMEWORK_IS_COMBINED_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_COMBINED_TRANSPORT))
#define FSO_FRAMEWORK_COMBINED_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_COMBINED_TRANSPORT, FsoFrameworkCombinedTransportClass))

typedef struct _FsoFrameworkCombinedTransport FsoFrameworkCombinedTransport;
typedef struct _FsoFrameworkCombinedTransportClass FsoFrameworkCombinedTransportClass;
typedef struct _FsoFrameworkCombinedTransportPrivate FsoFrameworkCombinedTransportPrivate;

#define FSO_FRAMEWORK_TYPE_NGSM_TRANSPORT (fso_framework_ngsm_transport_get_type ())
#define FSO_FRAMEWORK_NGSM_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_NGSM_TRANSPORT, FsoFrameworkNgsmTransport))
#define FSO_FRAMEWORK_NGSM_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_NGSM_TRANSPORT, FsoFrameworkNgsmTransportClass))
#define FSO_FRAMEWORK_IS_NGSM_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_NGSM_TRANSPORT))
#define FSO_FRAMEWORK_IS_NGSM_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_NGSM_TRANSPORT))
#define FSO_FRAMEWORK_NGSM_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_NGSM_TRANSPORT, FsoFrameworkNgsmTransportClass))

typedef struct _FsoFrameworkNgsmTransport FsoFrameworkNgsmTransport;
typedef struct _FsoFrameworkNgsmTransportClass FsoFrameworkNgsmTransportClass;
typedef struct _FsoFrameworkNgsmTransportPrivate FsoFrameworkNgsmTransportPrivate;

#define FSO_FRAMEWORK_TYPE_NGSM_BASIC_MUX_TRANSPORT (fso_framework_ngsm_basic_mux_transport_get_type ())
#define FSO_FRAMEWORK_NGSM_BASIC_MUX_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_NGSM_BASIC_MUX_TRANSPORT, FsoFrameworkNgsmBasicMuxTransport))
#define FSO_FRAMEWORK_NGSM_BASIC_MUX_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_NGSM_BASIC_MUX_TRANSPORT, FsoFrameworkNgsmBasicMuxTransportClass))
#define FSO_FRAMEWORK_IS_NGSM_BASIC_MUX_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_NGSM_BASIC_MUX_TRANSPORT))
#define FSO_FRAMEWORK_IS_NGSM_BASIC_MUX_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_NGSM_BASIC_MUX_TRANSPORT))
#define FSO_FRAMEWORK_NGSM_BASIC_MUX_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_NGSM_BASIC_MUX_TRANSPORT, FsoFrameworkNgsmBasicMuxTransportClass))

typedef struct _FsoFrameworkNgsmBasicMuxTransport FsoFrameworkNgsmBasicMuxTransport;
typedef struct _FsoFrameworkNgsmBasicMuxTransportClass FsoFrameworkNgsmBasicMuxTransportClass;
typedef struct _FsoFrameworkNgsmBasicMuxTransportPrivate FsoFrameworkNgsmBasicMuxTransportPrivate;

#define FSO_FRAMEWORK_TYPE_NGSM_ADVANCED_MUX_TRANSPORT (fso_framework_ngsm_advanced_mux_transport_get_type ())
#define FSO_FRAMEWORK_NGSM_ADVANCED_MUX_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_FRAMEWORK_TYPE_NGSM_ADVANCED_MUX_TRANSPORT, FsoFrameworkNgsmAdvancedMuxTransport))
#define FSO_FRAMEWORK_NGSM_ADVANCED_MUX_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_FRAMEWORK_TYPE_NGSM_ADVANCED_MUX_TRANSPORT, FsoFrameworkNgsmAdvancedMuxTransportClass))
#define FSO_FRAMEWORK_IS_NGSM_ADVANCED_MUX_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_FRAMEWORK_TYPE_NGSM_ADVANCED_MUX_TRANSPORT))
#define FSO_FRAMEWORK_IS_NGSM_ADVANCED_MUX_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_FRAMEWORK_TYPE_NGSM_ADVANCED_MUX_TRANSPORT))
#define FSO_FRAMEWORK_NGSM_ADVANCED_MUX_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_FRAMEWORK_TYPE_NGSM_ADVANCED_MUX_TRANSPORT, FsoFrameworkNgsmAdvancedMuxTransportClass))

typedef struct _FsoFrameworkNgsmAdvancedMuxTransport FsoFrameworkNgsmAdvancedMuxTransport;
typedef struct _FsoFrameworkNgsmAdvancedMuxTransportClass FsoFrameworkNgsmAdvancedMuxTransportClass;
typedef struct _FsoFrameworkNgsmAdvancedMuxTransportPrivate FsoFrameworkNgsmAdvancedMuxTransportPrivate;

typedef void (*FsoFrameworkTransportFunc) (FsoFrameworkTransport* transport, void* user_data);
struct _FsoFrameworkTransport {
	GObject parent_instance;
	FsoFrameworkTransportPrivate * priv;
	FsoFrameworkLogger* logger;
};

struct _FsoFrameworkTransportClass {
	GObjectClass parent_class;
	gboolean (*isOpen) (FsoFrameworkTransport* self);
	void (*openAsync) (FsoFrameworkTransport* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*openAsync_finish) (FsoFrameworkTransport* self, GAsyncResult* _res_);
	gboolean (*open) (FsoFrameworkTransport* self);
	void (*close) (FsoFrameworkTransport* self);
	gchar* (*getName) (FsoFrameworkTransport* self);
	void (*setDelegates) (FsoFrameworkTransport* self, FsoFrameworkTransportFunc readfunc, void* readfunc_target, FsoFrameworkTransportFunc hupfunc, void* hupfunc_target);
	void (*getDelegates) (FsoFrameworkTransport* self, FsoFrameworkTransportFunc* readfun, void** readfun_target, GDestroyNotify* readfun_target_destroy_notify, FsoFrameworkTransportFunc* hupfun, void** hupfun_target, GDestroyNotify* hupfun_target_destroy_notify);
	void (*setPriorities) (FsoFrameworkTransport* self, gint rp, gint wp);
	void (*setBuffered) (FsoFrameworkTransport* self, gboolean on);
	gint (*writeAndRead) (FsoFrameworkTransport* self, void* wdata, gint wlength, void* rdata, gint rlength, gint maxWait);
	gint (*read) (FsoFrameworkTransport* self, void* data, gint length);
	gint (*write) (FsoFrameworkTransport* self, void* data, gint length);
	gint (*freeze) (FsoFrameworkTransport* self);
	void (*thaw) (FsoFrameworkTransport* self);
	void (*drain) (FsoFrameworkTransport* self);
	void (*flush) (FsoFrameworkTransport* self);
	gboolean (*suspend) (FsoFrameworkTransport* self);
	void (*resume) (FsoFrameworkTransport* self);
};

struct _FsoFrameworkBaseTransport {
	FsoFrameworkTransport parent_instance;
	FsoFrameworkBaseTransportPrivate * priv;
	gchar* name;
	guint speed;
	gboolean raw;
	gboolean hard;
	gint fd;
	FsoFrameworkTransportFunc hupfunc;
	gpointer hupfunc_target;
	GDestroyNotify hupfunc_target_destroy_notify;
	FsoFrameworkTransportFunc readfunc;
	gpointer readfunc_target;
	GDestroyNotify readfunc_target_destroy_notify;
	GByteArray* buffer;
};

struct _FsoFrameworkBaseTransportClass {
	FsoFrameworkTransportClass parent_class;
	gssize (*_real_write) (FsoFrameworkBaseTransport* self, gint fd, void* data, gint len);
	void (*configure) (FsoFrameworkBaseTransport* self);
	gchar* (*repr) (FsoFrameworkBaseTransport* self);
	gssize (*_real_read) (FsoFrameworkBaseTransport* self, gint fd, void* data, gint len);
};

typedef void (*FsoFrameworkCommandQueueUnsolicitedHandler) (const gchar* prefix, const gchar* response, const gchar* pdu, void* user_data);
struct _FsoFrameworkCommandQueueIface {
	GTypeInterface parent_iface;
	void (*open) (FsoFrameworkCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*open_finish) (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
	void (*close) (FsoFrameworkCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*close_finish) (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
	void (*registerUnsolicitedHandler) (FsoFrameworkCommandQueue* self, FsoFrameworkCommandQueueUnsolicitedHandler urchandler, void* urchandler_target);
	void (*freeze) (FsoFrameworkCommandQueue* self, gboolean drain, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*freeze_finish) (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
	void (*thaw) (FsoFrameworkCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*thaw_finish) (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
	FsoFrameworkTransport* (*get_transport) (FsoFrameworkCommandQueue* self);
	void (*set_transport) (FsoFrameworkCommandQueue* self, FsoFrameworkTransport* value);
};

struct _FsoFrameworkAbstractCommandHandler {
	GTypeInstance parent_instance;
	volatile int ref_count;
	FsoFrameworkAbstractCommandHandlerPrivate * priv;
	guint timeout;
	guint retry;
	GSourceFunc callback;
	gpointer callback_target;
	GDestroyNotify callback_target_destroy_notify;
};

struct _FsoFrameworkAbstractCommandHandlerClass {
	GTypeClass parent_class;
	void (*finalize) (FsoFrameworkAbstractCommandHandler *self);
	void (*writeToTransport) (FsoFrameworkAbstractCommandHandler* self, FsoFrameworkTransport* t);
	gchar* (*to_string) (FsoFrameworkAbstractCommandHandler* self);
};

struct _FsoFrameworkAbstractCommandQueue {
	GObject parent_instance;
	FsoFrameworkAbstractCommandQueuePrivate * priv;
	FsoFrameworkCommandQueueUnsolicitedHandler urchandler;
	gpointer urchandler_target;
	GDestroyNotify urchandler_target_destroy_notify;
	FsoFrameworkAbstractCommandHandler* current;
};

struct _FsoFrameworkAbstractCommandQueueClass {
	GObjectClass parent_class;
	void (*onReadFromTransport) (FsoFrameworkAbstractCommandQueue* self, FsoFrameworkTransport* t);
	void (*onResponseTimeout) (FsoFrameworkAbstractCommandQueue* self, FsoFrameworkAbstractCommandHandler* ach);
	void (*open) (FsoFrameworkAbstractCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*open_finish) (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
	void (*freeze) (FsoFrameworkAbstractCommandQueue* self, gboolean drain, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*freeze_finish) (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
	void (*thaw) (FsoFrameworkAbstractCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*thaw_finish) (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
	void (*close) (FsoFrameworkAbstractCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*close_finish) (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
};

struct _FsoFrameworkDelegateTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkDelegateTransportPrivate * priv;
};

struct _FsoFrameworkDelegateTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

typedef gint (*FsoFrameworkTransportDataFunc) (void* data, gint length, FsoFrameworkTransport* transport, void* user_data);
typedef gboolean (*FsoFrameworkTransportBoolFunc) (FsoFrameworkTransport* transport, void* user_data);
typedef gint (*FsoFrameworkTransportIntFunc) (FsoFrameworkTransport* transport, void* user_data);
struct _FsoFrameworkNullTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkNullTransportPrivate * priv;
};

struct _FsoFrameworkNullTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

typedef gboolean (*FsoFrameworkParserHaveCommandFunc) (void* user_data);
typedef gboolean (*FsoFrameworkParserExpectedPrefixFunc) (const gchar* line, void* user_data);
typedef void (*FsoFrameworkParserSolicitedCompletedFunc) (gchar** response, int response_length1, void* user_data);
typedef void (*FsoFrameworkParserUnsolicitedCompletedFunc) (gchar** response, int response_length1, void* user_data);
struct _FsoFrameworkParserIface {
	GTypeInterface parent_iface;
	void (*setDelegates) (FsoFrameworkParser* self, FsoFrameworkParserHaveCommandFunc haveCommand, void* haveCommand_target, FsoFrameworkParserExpectedPrefixFunc expectedPrefix, void* expectedPrefix_target, FsoFrameworkParserSolicitedCompletedFunc solicitedCompleted, void* solicitedCompleted_target, FsoFrameworkParserUnsolicitedCompletedFunc unsolicitedCompleted, void* unsolicitedCompleted_target);
	gint (*feed) (FsoFrameworkParser* self, void* data, gint len);
};

struct _FsoFrameworkBaseParser {
	GObject parent_instance;
	FsoFrameworkBaseParserPrivate * priv;
	FsoFrameworkParserHaveCommandFunc haveCommand;
	gpointer haveCommand_target;
	GDestroyNotify haveCommand_target_destroy_notify;
	FsoFrameworkParserExpectedPrefixFunc expectedPrefix;
	gpointer expectedPrefix_target;
	GDestroyNotify expectedPrefix_target_destroy_notify;
	FsoFrameworkParserSolicitedCompletedFunc solicitedCompleted;
	gpointer solicitedCompleted_target;
	GDestroyNotify solicitedCompleted_target_destroy_notify;
	FsoFrameworkParserUnsolicitedCompletedFunc unsolicitedCompleted;
	gpointer unsolicitedCompleted_target;
	GDestroyNotify unsolicitedCompleted_target_destroy_notify;
};

struct _FsoFrameworkBaseParserClass {
	GObjectClass parent_class;
	gint (*feed) (FsoFrameworkBaseParser* self, void* data, gint len);
};

struct _FsoFrameworkNullParser {
	FsoFrameworkBaseParser parent_instance;
	FsoFrameworkNullParserPrivate * priv;
};

struct _FsoFrameworkNullParserClass {
	FsoFrameworkBaseParserClass parent_class;
};

struct _FsoFrameworkLineByLineParser {
	FsoFrameworkBaseParser parent_instance;
	FsoFrameworkLineByLineParserPrivate * priv;
};

struct _FsoFrameworkLineByLineParserClass {
	FsoFrameworkBaseParserClass parent_class;
};

struct _FsoFrameworkFdPipe {
	GObject parent_instance;
	FsoFrameworkFdPipePrivate * priv;
};

struct _FsoFrameworkFdPipeClass {
	GObjectClass parent_class;
};

struct _FsoFrameworkPtyTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkPtyTransportPrivate * priv;
};

struct _FsoFrameworkPtyTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

struct _FsoFrameworkSerialTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkSerialTransportPrivate * priv;
	gboolean dtr_cycle;
};

struct _FsoFrameworkSerialTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

struct _FsoFrameworkSocketTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkSocketTransportPrivate * priv;
};

struct _FsoFrameworkSocketTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

typedef enum  {
	FSO_FRAMEWORK_TRANSPORT_ERROR_UNABLE_TO_OPEN,
	FSO_FRAMEWORK_TRANSPORT_ERROR_UNABLE_TO_WRITE
} FsoFrameworkTransportError;
#define FSO_FRAMEWORK_TRANSPORT_ERROR fso_framework_transport_error_quark ()
typedef enum  {
	FSO_FRAMEWORK_TRANSPORT_STATE_CLOSED,
	FSO_FRAMEWORK_TRANSPORT_STATE_OPEN,
	FSO_FRAMEWORK_TRANSPORT_STATE_ALIVE,
	FSO_FRAMEWORK_TRANSPORT_STATE_FROZEN,
	FSO_FRAMEWORK_TRANSPORT_STATE_DEAD
} FsoFrameworkTransportState;

struct _FsoFrameworkTransportSpec {
	GTypeInstance parent_instance;
	volatile int ref_count;
	FsoFrameworkTransportSpecPrivate * priv;
	gchar* type;
	gchar* name;
	guint speed;
	gboolean raw;
	gboolean hard;
};

struct _FsoFrameworkTransportSpecClass {
	GTypeClass parent_class;
	void (*finalize) (FsoFrameworkTransportSpec *self);
};

struct _FsoFrameworkRawTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkRawTransportPrivate * priv;
};

struct _FsoFrameworkRawTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

struct _FsoFrameworkCombinedTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkCombinedTransportPrivate * priv;
};

struct _FsoFrameworkCombinedTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

struct _FsoFrameworkNgsmTransport {
	FsoFrameworkBaseTransport parent_instance;
	FsoFrameworkNgsmTransportPrivate * priv;
};

struct _FsoFrameworkNgsmTransportClass {
	FsoFrameworkBaseTransportClass parent_class;
};

struct _FsoFrameworkNgsmBasicMuxTransport {
	FsoFrameworkNgsmTransport parent_instance;
	FsoFrameworkNgsmBasicMuxTransportPrivate * priv;
};

struct _FsoFrameworkNgsmBasicMuxTransportClass {
	FsoFrameworkNgsmTransportClass parent_class;
};

struct _FsoFrameworkNgsmAdvancedMuxTransport {
	FsoFrameworkNgsmTransport parent_instance;
	FsoFrameworkNgsmAdvancedMuxTransportPrivate * priv;
};

struct _FsoFrameworkNgsmAdvancedMuxTransportClass {
	FsoFrameworkNgsmTransportClass parent_class;
};


GType fso_framework_transport_get_type (void) G_GNUC_CONST;
GType fso_framework_base_transport_get_type (void) G_GNUC_CONST;
void fso_framework_base_transport_restartWriter (FsoFrameworkBaseTransport* self);
gssize _fso_framework_base_transport_real_write (FsoFrameworkBaseTransport* self, gint fd, void* data, gint len);
speed_t fso_framework_base_transport_parse_speed (FsoFrameworkBaseTransport* self, guint speed);
void fso_framework_base_transport_configure (FsoFrameworkBaseTransport* self);
gchar* fso_framework_base_transport_repr (FsoFrameworkBaseTransport* self);
FsoFrameworkBaseTransport* fso_framework_base_transport_new (const gchar* name, guint speed, gboolean raw, gboolean hard);
FsoFrameworkBaseTransport* fso_framework_base_transport_construct (GType object_type, const gchar* name, guint speed, gboolean raw, gboolean hard);
gssize _fso_framework_base_transport_real_read (FsoFrameworkBaseTransport* self, gint fd, void* data, gint len);
gsize _fso_framework_base_transport_read (FsoFrameworkBaseTransport* self, void* rdata, gint rlength, gint maxWait);
GType fso_framework_command_queue_get_type (void) G_GNUC_CONST;
void fso_framework_command_queue_open (FsoFrameworkCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
gboolean fso_framework_command_queue_open_finish (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
void fso_framework_command_queue_close (FsoFrameworkCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void fso_framework_command_queue_close_finish (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
void fso_framework_command_queue_registerUnsolicitedHandler (FsoFrameworkCommandQueue* self, FsoFrameworkCommandQueueUnsolicitedHandler urchandler, void* urchandler_target);
void fso_framework_command_queue_freeze (FsoFrameworkCommandQueue* self, gboolean drain, GAsyncReadyCallback _callback_, gpointer _user_data_);
void fso_framework_command_queue_freeze_finish (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
void fso_framework_command_queue_thaw (FsoFrameworkCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void fso_framework_command_queue_thaw_finish (FsoFrameworkCommandQueue* self, GAsyncResult* _res_);
FsoFrameworkTransport* fso_framework_command_queue_get_transport (FsoFrameworkCommandQueue* self);
void fso_framework_command_queue_set_transport (FsoFrameworkCommandQueue* self, FsoFrameworkTransport* value);
gpointer fso_framework_abstract_command_handler_ref (gpointer instance);
void fso_framework_abstract_command_handler_unref (gpointer instance);
GParamSpec* fso_framework_param_spec_abstract_command_handler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void fso_framework_value_set_abstract_command_handler (GValue* value, gpointer v_object);
void fso_framework_value_take_abstract_command_handler (GValue* value, gpointer v_object);
gpointer fso_framework_value_get_abstract_command_handler (const GValue* value);
GType fso_framework_abstract_command_handler_get_type (void) G_GNUC_CONST;
void fso_framework_abstract_command_handler_writeToTransport (FsoFrameworkAbstractCommandHandler* self, FsoFrameworkTransport* t);
gchar* fso_framework_abstract_command_handler_to_string (FsoFrameworkAbstractCommandHandler* self);
FsoFrameworkAbstractCommandHandler* fso_framework_abstract_command_handler_construct (GType object_type);
GType fso_framework_abstract_command_queue_get_type (void) G_GNUC_CONST;
void fso_framework_abstract_command_queue_onReadFromTransport (FsoFrameworkAbstractCommandQueue* self, FsoFrameworkTransport* t);
gboolean fso_framework_abstract_command_queue_checkRestartingQ (FsoFrameworkAbstractCommandQueue* self);
void fso_framework_abstract_command_queue_writeNextCommand (FsoFrameworkAbstractCommandQueue* self);
void fso_framework_abstract_command_queue_resetTimeout (FsoFrameworkAbstractCommandQueue* self);
void fso_framework_abstract_command_queue_onHupFromTransport (FsoFrameworkAbstractCommandQueue* self);
gboolean fso_framework_abstract_command_queue_onTimeout (FsoFrameworkAbstractCommandQueue* self);
void fso_framework_abstract_command_queue_onResponseTimeout (FsoFrameworkAbstractCommandQueue* self, FsoFrameworkAbstractCommandHandler* ach);
void fso_framework_abstract_command_queue_enqueueCommand (FsoFrameworkAbstractCommandQueue* self, FsoFrameworkAbstractCommandHandler* command);
void fso_framework_abstract_command_queue_reset (FsoFrameworkAbstractCommandQueue* self);
gboolean fso_framework_abstract_command_queue_is_busy (FsoFrameworkAbstractCommandQueue* self);
FsoFrameworkAbstractCommandQueue* fso_framework_abstract_command_queue_construct (GType object_type, FsoFrameworkTransport* transport);
void fso_framework_abstract_command_queue_open (FsoFrameworkAbstractCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
gboolean fso_framework_abstract_command_queue_open_finish (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
void fso_framework_abstract_command_queue_freeze (FsoFrameworkAbstractCommandQueue* self, gboolean drain, GAsyncReadyCallback _callback_, gpointer _user_data_);
void fso_framework_abstract_command_queue_freeze_finish (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
void fso_framework_abstract_command_queue_thaw (FsoFrameworkAbstractCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void fso_framework_abstract_command_queue_thaw_finish (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
void fso_framework_abstract_command_queue_close (FsoFrameworkAbstractCommandQueue* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void fso_framework_abstract_command_queue_close_finish (FsoFrameworkAbstractCommandQueue* self, GAsyncResult* _res_);
GType fso_framework_delegate_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkDelegateTransport* fso_framework_delegate_transport_new (FsoFrameworkTransportDataFunc writefunc, void* writefunc_target, FsoFrameworkTransportDataFunc readfunc, void* readfunc_target, FsoFrameworkTransportFunc hupfunc, void* hupfunc_target, FsoFrameworkTransportBoolFunc openfunc, void* openfunc_target, FsoFrameworkTransportFunc closefunc, void* closefunc_target, FsoFrameworkTransportIntFunc freezefunc, void* freezefunc_target, FsoFrameworkTransportFunc thawfunc, void* thawfunc_target);
FsoFrameworkDelegateTransport* fso_framework_delegate_transport_construct (GType object_type, FsoFrameworkTransportDataFunc writefunc, void* writefunc_target, FsoFrameworkTransportDataFunc readfunc, void* readfunc_target, FsoFrameworkTransportFunc hupfunc, void* hupfunc_target, FsoFrameworkTransportBoolFunc openfunc, void* openfunc_target, FsoFrameworkTransportFunc closefunc, void* closefunc_target, FsoFrameworkTransportIntFunc freezefunc, void* freezefunc_target, FsoFrameworkTransportFunc thawfunc, void* thawfunc_target);
GType fso_framework_null_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkNullTransport* fso_framework_null_transport_new (const gchar* name, guint speed, gboolean raw, gboolean hard);
FsoFrameworkNullTransport* fso_framework_null_transport_construct (GType object_type, const gchar* name, guint speed, gboolean raw, gboolean hard);
GType fso_framework_parser_get_type (void) G_GNUC_CONST;
void fso_framework_parser_setDelegates (FsoFrameworkParser* self, FsoFrameworkParserHaveCommandFunc haveCommand, void* haveCommand_target, FsoFrameworkParserExpectedPrefixFunc expectedPrefix, void* expectedPrefix_target, FsoFrameworkParserSolicitedCompletedFunc solicitedCompleted, void* solicitedCompleted_target, FsoFrameworkParserUnsolicitedCompletedFunc unsolicitedCompleted, void* unsolicitedCompleted_target);
gint fso_framework_parser_feed (FsoFrameworkParser* self, void* data, gint len);
GType fso_framework_base_parser_get_type (void) G_GNUC_CONST;
gint fso_framework_base_parser_feed (FsoFrameworkBaseParser* self, void* data, gint len);
FsoFrameworkBaseParser* fso_framework_base_parser_new (void);
FsoFrameworkBaseParser* fso_framework_base_parser_construct (GType object_type);
GType fso_framework_null_parser_get_type (void) G_GNUC_CONST;
FsoFrameworkNullParser* fso_framework_null_parser_new (void);
FsoFrameworkNullParser* fso_framework_null_parser_construct (GType object_type);
GType fso_framework_line_by_line_parser_get_type (void) G_GNUC_CONST;
FsoFrameworkLineByLineParser* fso_framework_line_by_line_parser_new (const gchar* termination, gboolean swallow);
FsoFrameworkLineByLineParser* fso_framework_line_by_line_parser_construct (GType object_type, const gchar* termination, gboolean swallow);
GType fso_framework_fd_pipe_get_type (void) G_GNUC_CONST;
FsoFrameworkFdPipe* fso_framework_fd_pipe_new (gint s, gint din, gint dout);
FsoFrameworkFdPipe* fso_framework_fd_pipe_construct (GType object_type, gint s, gint din, gint dout);
GType fso_framework_pty_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkPtyTransport* fso_framework_pty_transport_new (void);
FsoFrameworkPtyTransport* fso_framework_pty_transport_construct (GType object_type);
GType fso_framework_serial_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkSerialTransport* fso_framework_serial_transport_new (const gchar* portname, guint portspeed, gboolean raw, gboolean hard);
FsoFrameworkSerialTransport* fso_framework_serial_transport_construct (GType object_type, const gchar* portname, guint portspeed, gboolean raw, gboolean hard);
GType fso_framework_socket_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkSocketTransport* fso_framework_socket_transport_new (const gchar* type, const gchar* host, guint port);
FsoFrameworkSocketTransport* fso_framework_socket_transport_construct (GType object_type, const gchar* type, const gchar* host, guint port);
GQuark fso_framework_transport_error_quark (void);
GType fso_framework_transport_state_get_type (void) G_GNUC_CONST;
gpointer fso_framework_transport_spec_ref (gpointer instance);
void fso_framework_transport_spec_unref (gpointer instance);
GParamSpec* fso_framework_param_spec_transport_spec (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void fso_framework_value_set_transport_spec (GValue* value, gpointer v_object);
void fso_framework_value_take_transport_spec (GValue* value, gpointer v_object);
gpointer fso_framework_value_get_transport_spec (const GValue* value);
GType fso_framework_transport_spec_get_type (void) G_GNUC_CONST;
FsoFrameworkTransportSpec* fso_framework_transport_spec_new (const gchar* type, const gchar* name, guint speed, gboolean raw, gboolean hard);
FsoFrameworkTransportSpec* fso_framework_transport_spec_construct (GType object_type, const gchar* type, const gchar* name, guint speed, gboolean raw, gboolean hard);
gchar* fso_framework_transport_spec_repr (FsoFrameworkTransportSpec* self);
FsoFrameworkTransportSpec* fso_framework_transport_spec_parse (const gchar* line);
FsoFrameworkTransport* fso_framework_transport_spec_create (FsoFrameworkTransportSpec* self);
FsoFrameworkTransport* fso_framework_transport_create (const gchar* type, const gchar* name, guint speed, gboolean raw, gboolean hard);
gboolean fso_framework_transport_isOpen (FsoFrameworkTransport* self);
void fso_framework_transport_openAsync (FsoFrameworkTransport* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
gboolean fso_framework_transport_openAsync_finish (FsoFrameworkTransport* self, GAsyncResult* _res_);
gboolean fso_framework_transport_open (FsoFrameworkTransport* self);
void fso_framework_transport_close (FsoFrameworkTransport* self);
gchar* fso_framework_transport_getName (FsoFrameworkTransport* self);
void fso_framework_transport_setDelegates (FsoFrameworkTransport* self, FsoFrameworkTransportFunc readfunc, void* readfunc_target, FsoFrameworkTransportFunc hupfunc, void* hupfunc_target);
void fso_framework_transport_getDelegates (FsoFrameworkTransport* self, FsoFrameworkTransportFunc* readfun, void** readfun_target, GDestroyNotify* readfun_target_destroy_notify, FsoFrameworkTransportFunc* hupfun, void** hupfun_target, GDestroyNotify* hupfun_target_destroy_notify);
void fso_framework_transport_setPriorities (FsoFrameworkTransport* self, gint rp, gint wp);
void fso_framework_transport_setBuffered (FsoFrameworkTransport* self, gboolean on);
gint fso_framework_transport_writeAndRead (FsoFrameworkTransport* self, void* wdata, gint wlength, void* rdata, gint rlength, gint maxWait);
gint fso_framework_transport_read (FsoFrameworkTransport* self, void* data, gint length);
gint fso_framework_transport_write (FsoFrameworkTransport* self, void* data, gint length);
gint fso_framework_transport_freeze (FsoFrameworkTransport* self);
void fso_framework_transport_thaw (FsoFrameworkTransport* self);
void fso_framework_transport_drain (FsoFrameworkTransport* self);
void fso_framework_transport_flush (FsoFrameworkTransport* self);
gboolean fso_framework_transport_suspend (FsoFrameworkTransport* self);
void fso_framework_transport_resume (FsoFrameworkTransport* self);
FsoFrameworkTransport* fso_framework_transport_construct (GType object_type);
GType fso_framework_raw_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkRawTransport* fso_framework_raw_transport_new (const gchar* portname);
FsoFrameworkRawTransport* fso_framework_raw_transport_construct (GType object_type, const gchar* portname);
GType fso_framework_combined_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkCombinedTransport* fso_framework_combined_transport_new (const gchar* specification);
FsoFrameworkCombinedTransport* fso_framework_combined_transport_construct (GType object_type, const gchar* specification);
GType fso_framework_ngsm_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkNgsmTransport* fso_framework_ngsm_transport_new (const gchar* portname, guint portspeed, gboolean advanced, guint framesize);
FsoFrameworkNgsmTransport* fso_framework_ngsm_transport_construct (GType object_type, const gchar* portname, guint portspeed, gboolean advanced, guint framesize);
GType fso_framework_ngsm_basic_mux_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkNgsmBasicMuxTransport* fso_framework_ngsm_basic_mux_transport_new (const gchar* portname, guint portspeed, guint framesize);
FsoFrameworkNgsmBasicMuxTransport* fso_framework_ngsm_basic_mux_transport_construct (GType object_type, const gchar* portname, guint portspeed, guint framesize);
GType fso_framework_ngsm_advanced_mux_transport_get_type (void) G_GNUC_CONST;
FsoFrameworkNgsmAdvancedMuxTransport* fso_framework_ngsm_advanced_mux_transport_new (const gchar* portname, guint portspeed, guint framesize);
FsoFrameworkNgsmAdvancedMuxTransport* fso_framework_ngsm_advanced_mux_transport_construct (GType object_type, const gchar* portname, guint portspeed, guint framesize);


G_END_DECLS

#endif