The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
frameset.h
Go to the documentation of this file.
1 
26 #ifndef _FRAMESET_H
27 #define _FRAMESET_H
28 #include <projectcommon.h>
29 #include <glib.h>
30 #include <assimobj.h>
31 #include <frame.h>
32 #include <signframe.h>
33 #include <framesettypes.h>
34 #include <generic_tlv_min.h>
35 #include <seqnoframe.h>
36 #include <compressframe.h>
37 
45 struct _FrameSet {
47  GSList* framelist;
48  gpointer packet;
50  gpointer pktend;
51  guint16 fstype;
52  guint16 fsflags;
54  SeqnoFrame* (*getseqno)(FrameSet*);
55 };
56 #define FRAMESET_INITSIZE (GENERICTLV_HDRSZ+sizeof(guint16))
57 
58 WINEXPORT FrameSet* frameset_new(guint16 frameset_type);
61 WINEXPORT void frameset_construct_packet(FrameSet* fs, SignFrame* sign, Frame* crypt, CompressFrame* compress);
62 WINEXPORT Frame* frame_new(guint16 frame_type, gsize framesize);
64 WINEXPORT guint16 frameset_set_flags(FrameSet* f, guint16 flagbits);
65 WINEXPORT guint16 frameset_clear_flags(FrameSet* f, guint16 flagbits);
66 WINEXPORT gpointer frame_append_to_frameset_packet(FrameSet*, Frame*, gpointer curpos);
67 WINEXPORT void frameset_dump(const FrameSet*);
68 
69 #endif /* _FRAMESET_H */
WINEXPORT guint16 frameset_set_flags(FrameSet *f, guint16 flagbits)
Set (OR in) the given set of FrameSet flags.
Definition: frameset.c:309
WINEXPORT void frameset_dump(const FrameSet *)
Dump out a FrameSet.
Definition: frameset.c:355
AssimObj baseclass
Definition: frameset.h:46
SeqnoFrame * _seqframe
sequence number for this frameset
Definition: frameset.h:53
WINEXPORT guint16 frameset_get_flags(FrameSet *fs)
Return the flags currently set on this FrameSet.
Definition: frameset.c:301
WINEXPORT gpointer frame_append_to_frameset_packet(FrameSet *, Frame *, gpointer curpos)
Append the given Frame to a FrameSet packet.
Definition: frameset.c:331
WINEXPORT guint16 frameset_clear_flags(FrameSet *f, guint16 flagbits)
Clear the given set of FrameSet flags (& ~flagbits)
Definition: frameset.c:319
Describes interfaces to Signature Frame (Signframe) C-Class - providing digital signatures.
This is the base Frame class object (in-memory TLV (type, length, value)) for every general component...
Definition: frame.h:43
WINEXPORT FrameSet * frameset_new(guint16 frameset_type)
Construct a new frameset of the given type.
Definition: frameset.c:110
The SignFrame class object - implements digital signatures for FrameSets.
Definition: signframe.h:40
gpointer pktend
Last byte past the end of the packet.
Definition: frameset.h:50
#define WINEXPORT
Definition: projectcommon.h:45
This file defines our base object class: AssimObj.
guint16 fstype
Type of frameset.
Definition: frameset.h:51
WINEXPORT void frameset_append_frame(FrameSet *fs, Frame *f)
Append frame to the front of the end of the frame list.
Definition: frameset.c:143
This is our CompressFrame class object - used for representing a compression method.
Definition: compressframe.h:41
WINEXPORT Frame * frame_new(guint16 frame_type, gsize framesize)
Construct a new frame - allowing for "derived" frame types...
Definition: frame.c:124
Header file defining all known FrameSet types THIS FILE MECHANICALLY GENERATED by "/home/alanr/assim/...
WINEXPORT void frameset_construct_packet(FrameSet *fs, SignFrame *sign, Frame *crypt, CompressFrame *compress)
Construct packet to go correspond to this frameset.
Definition: frameset.c:159
Describes interfaces to C-String Frame (Compressframe) C-Class It holds conventional zero-terminated ...
Implements basic Frame class.
gpointer packet
Pointer to packet (when constructed)
Definition: frameset.h:49
Project common header file.
guint16 fsflags
Flags for frameset.
Definition: frameset.h:52
Provides definitions for using our generic TLV capabilities.
GSList * framelist
List of frames in this FrameSet.
Definition: frameset.h:47
WINEXPORT void frameset_prepend_frame(FrameSet *fs, Frame *f)
Prepend frame to the front of the frame list.
Definition: frameset.c:132
FrameSet class - used for collecting Frames when not on the wire, and for marshalling/demarshalling t...
Definition: frameset.h:45
Implements the SeqnoFrame class.
This is an SeqnoFrame class TLV (type, length, value) frame.
Definition: seqnoframe.h:43