The Assimilation Monitoring Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
frame.h
Go to the documentation of this file.
1 
27 #ifndef _FRAME_H
28 #define _FRAME_H
29 #include <projectcommon.h>
30 #include <assimobj.h>
31 typedef struct _FrameSet FrameSet;
32 typedef struct _Frame Frame;
33 
36 
42 struct _Frame {
44  guint16 type;
45  guint16 length;
46  gpointer value;
47  gsize (*dataspace)(Frame* self);
48  void (*updatedata)(Frame* self, gpointer tlvptr, gconstpointer pktend, FrameSet* fs);
49  gboolean (*isvalid)(const Frame* self, gconstpointer tlvptr, gconstpointer pktend);
50 
51  void (*setvalue)(Frame* self,
52  gpointer value,
53  guint16 length,
54  GDestroyNotify valfinal);
55  void (*dump)(const Frame* self, const char * prefix);
56  GDestroyNotify valuefinalize;
57 };
58 #define FRAME_INITSIZE 4
59 WINEXPORT Frame* frame_new(guint16 frame_type, gsize framesize);
60 WINEXPORT Frame* frame_tlvconstructor(gconstpointer tlvstart, gconstpointer pktend);
61 WINEXPORT void frame_default_valuefinalize(gpointer value);
63 
64 #endif /* _FRAME_H */