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 <cryptframe.h>
34 #include <framesettypes.h>
35 #include <generic_tlv_min.h>
36 #include <seqnoframe.h>
37 #include <compressframe.h>
38 
46 struct _FrameSet {
48  GSList* framelist;
49  gpointer packet;
51  gpointer pktend;
52  guint16 fstype;
53  guint16 fsflags;
55  SeqnoFrame* (*getseqno)(FrameSet*);
56 };
57 #define FRAMESET_INITSIZE (GENERICTLV_HDRSZ+sizeof(guint16))
58 
59 WINEXPORT FrameSet* frameset_new(guint16 frameset_type);
63 WINEXPORT const char * frameset_sender_key_id(const FrameSet* self);
64 WINEXPORT const char * frameset_sender_identity(const FrameSet* self);
65 WINEXPORT Frame* frame_new(guint16 frame_type, gsize framesize);
67 WINEXPORT guint16 frameset_set_flags(FrameSet* f, guint16 flagbits);
68 WINEXPORT guint16 frameset_clear_flags(FrameSet* f, guint16 flagbits);
69 WINEXPORT gpointer frame_append_to_frameset_packet(FrameSet*, Frame*, gpointer curpos);
70 WINEXPORT gpointer frame_append_to_frameset_packet(FrameSet*, Frame*, gpointer curpos);
71 WINEXPORT void frameset_dump(const FrameSet*);
72 
73 #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:47
SeqnoFrame * _seqframe
sequence number for this frameset
Definition: frameset.h:54
WINEXPORT guint16 frameset_get_flags(FrameSet *fs)
Return the flags currently set on this FrameSet.
Definition: frameset.c:301
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:47
WINEXPORT const char * frameset_sender_identity(const FrameSet *self)
Return Crypto identity.
Definition: frameset.c:432
gpointer pktend
Last byte past the end of the packet.
Definition: frameset.h:51
WINEXPORT gpointer frame_append_to_frameset_packet(FrameSet *, Frame *, gpointer curpos)
Append the given Frame to a FrameSet packet.
Definition: frameset.c:331
#define WINEXPORT
Definition: projectcommon.h:45
This file defines our base object class: AssimObj.
guint16 fstype
Type of frameset.
Definition: frameset.h:52
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
Describes interfaces to CryptFrame (encryption) C-Class It represents the abstract base class for Fra...
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/...
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:50
Project common header file.
WINEXPORT const char * frameset_sender_key_id(const FrameSet *self)
Return Crypto key_id.
Definition: frameset.c:415
guint16 fsflags
Flags for frameset.
Definition: frameset.h:53
Provides definitions for using our generic TLV capabilities.
GSList * framelist
List of frames in this FrameSet.
Definition: frameset.h:48
WINEXPORT void frameset_prepend_frame(FrameSet *fs, Frame *f)
Prepend frame to the front of the frame list.
Definition: frameset.c:132
WINEXPORT void frameset_construct_packet(FrameSet *fs, SignFrame *sign, CryptFrame *crypt, CompressFrame *compress)
Construct packet to go correspond to this frameset.
Definition: frameset.c:159
FrameSet class - used for collecting Frames when not on the wire, and for marshalling/demarshalling t...
Definition: frameset.h:46
Implements the SeqnoFrame class.
This is our CryptFrame class object - representing an encryption method.
Definition: cryptframe.h:53
This is an SeqnoFrame class TLV (type, length, value) frame.
Definition: seqnoframe.h:43