YAF Core Library
libyaf 0.8.0 API documentation

yafrag.h

Go to the documentation of this file.
00001 /*
00002  ** yafrag.h
00003  ** YAF Active Fragment Table
00004  **
00005  ** ------------------------------------------------------------------------
00006  ** Copyright (C) 2006-2007 Carnegie Mellon University. All Rights Reserved.
00007  ** ------------------------------------------------------------------------
00008  ** Authors: Brian Trammell <bht@cert.org>
00009  ** ------------------------------------------------------------------------
00010  ** GNU General Public License (GPL) Rights pursuant to Version 2, June 1991
00011  ** Government Purpose License Rights (GPLR) pursuant to DFARS 252.225-7013
00012  ** ------------------------------------------------------------------------
00013  */
00014 
00044 #ifndef _YAF_FRAG_H_
00045 #define _YAF_FRAG_H_
00046 
00047 #include <yaf/autoinc.h>
00048 #include <yaf/decode.h>
00049 #include <yaf/yafcore.h>
00050 
00051 struct yfFragNode_st;
00053 typedef struct yfFragNode_st yfFragNode_t;
00054 
00058 void yfFragInit();
00059 
00083 void yfDefragmentDecoded(
00084     size_t              caplen,
00085     const uint8_t       *pkt,
00086     yfFlowKey_t         *flowkey,
00087     uint16_t            iplen,
00088     yfTCPInfo_t         *tcpinfo,
00089     yfIPFragInfo_t      *fraginfo,
00090     yfL2Info_t          *l2info);
00091 
00118 yfFragNode_t *yfAssembledDecoded(
00119     size_t              *caplen,
00120     const uint8_t       **pkt,
00121     yfFlowKey_t         **flowkey,
00122     uint16_t            *iplen,
00123     yfTCPInfo_t         **tcpinfo,
00124     yfL2Info_t          **l2info);
00125 
00132 void yfFragNodeFree(
00133     yfFragNode_t        *fn);
00134 
00139 void yfFragDumpStats();
00140 
00141 #endif