The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
frame.c File Reference

Implements the Frame class class - binary blobs on the wire. More...

#include <frame.h>
#include <generic_tlv_min.h>
#include <memory.h>
Include dependency graph for frame.c:

Go to the source code of this file.

Functions

FSTATIC void _frame_default_finalize (AssimObj *obj)
 Finalize a Frame. More...
 
FSTATIC gsize _frame_dataspace (const Frame *f)
 Return total space required to put this frame in a packet (marshalled size) More...
 
FSTATIC gboolean _frame_default_isvalid (const Frame *self,gconstpointer tlvptr,gconstpointer pktend)
 Default Frame class 'isvalid' member function (always returns TRUE) More...
 
FSTATIC void _frame_setvalue (Frame *self,gpointer value,guint32 length,GDestroyNotify valnotify)
 'setvalue' Frame class member function. More...
 
FSTATIC void _frame_updatedata (Frame *self,gpointer tlvptr,gconstpointer pktend,FrameSet *fs)
 Update packet data ('updatedata') Frame class member function. More...
 
FSTATIC void _frame_dump (const Frame *f,const char *prefix)
 Basic "dump a frame" member function - we use g_debug() for output. More...
 
FSTATIC gchar * _frame_toString (gconstpointer aself)
 Frame class 'toString' operation - convert a basic Frame into a string More...
 
FSTATIC void frame_default_valuefinalize (gpointer value)
 Finalize a Frame. More...
 
Frameframe_new (guint16 frame_type, gsize framesize)
 Construct a new frame - allowing for "derived" frame types... More...
 
Frameframe_tlvconstructor (gpointer tlvstart, gconstpointer pktend, gpointer *ignorednewpkt, gpointer *ignoredpktend)
 Given marshalled data corresponding to a Frame (basic binary frame), return that corresponding Frame In other words, un-marshall the data... More...
 

Detailed Description

Implements the Frame class class - binary blobs on the wire.

implementing the base class for marshalling and demarshalling objects on the wire

This file is part of the Assimilation Project.

Author
Copyright © 2011, 2012 - Alan Robertson alanr.nosp@m.@uni.nosp@m.x.sh
The Assimilation software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Assimilation software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the Assimilation Project software. If not, see http://www.gnu.org/licenses/

Definition in file frame.c.