The Assimilation Project  based on Assimilation version
packetdecoder.c File Reference

Implements the inbound frame decoding function: Packet-chunk->FrameSet-list. More...

#include <memory.h>
#include <projectcommon.h>
#include <assimobj.h>
#include <generic_tlv_min.h>
#include <frameset.h>
#include <frametypes.h>
#include <signframe.h>
#include <cryptcurve25519.h>
#include <compressframe.h>
#include <tlvhelper.h>
#include <packetdecoder.h>
#include <intframe.h>
#include <addrframe.h>
#include <ipportframe.h>
#include <cstringframe.h>
#include <seqnoframe.h>
#include <nvpairframe.h>
#include <unknownframe.h>
#include <misc.h>
Include dependency graph for packetdecoder.c:

Go to the source code of this file.


FSTATIC Frame_framedata_to_frameobject (PacketDecoder *, gpointer, gconstpointer, gconstpointer)
FSTATIC FrameSet_decode_packet_get_frameset_data (gpointer vfsstart,gconstpointer vpktend,gpointer *fsnext)
 Construct a basic FrameSet object from the initial marshalled FrameSet data in a packet. More...
FSTATIC Frame_decode_packet_framedata_to_frameobject (PacketDecoder *self,gpointer *pktstart, gconstpointer *pktend,gpointer *newpacket)
 Given a pointer to a TLV entry for the data corresponding to a Frame, construct a corresponding Frame. More...
FSTATIC GSList * _pktdata_to_framesetlist (PacketDecoder *self,gpointer pktstart,gconstpointer pktend)
 Constructs a GSList list of FrameSet class objects from a datagram/packet. More...
FSTATIC void _packetdecoder_finalize (AssimObj *selfobj)
 Function for finalizing. More...
PacketDecoderpacketdecoder_new (guint objsize, const FrameTypeToFrame *framemap, gint mapsize)
 Initialize our frame type map. More...

Detailed Description

Implements the inbound frame decoding function: Packet-chunk->FrameSet-list.

This code walks through an packet and creates a collection of FramSets that correspond to the FrameSets that the originator created. In a lot of ways, this is all auxilliary functions for the FrameSet class objects.

This file is part of the Assimilation Project.

Copyright © 2011, 2012 - Alan Robertson
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

Definition in file packetdecoder.c.