1/* 2 * Author: Denise Jorge de Oliveira <dezinha@land.ufrj.br> in Dec, 1999 3 * 4 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/wb_seg.e,v 1.2 2005/07/26 18:30:27 william Exp $ 5 */ 6#ifndef _WB_SEG_E 7#define _WB_SEG_E 8 9#include <stdio.h> 10#include <string.h> 11#include <stdlib.h> 12#include <sys/types.h> 13#include <netinet/in.h> 14 15#ifndef FALSE 16#define FALSE 0 17#define TRUE 1 18#endif /* ~FALSE */ 19 20#define SEG_ID 256 21#define SEG_DATA_SIZE 512 22 23typedef struct SegmentationPack{ 24 char id[SEG_ID]; 25 char data[SEG_DATA_SIZE]; 26 int DataSize; 27 int LogicalClock; 28 int NumSeq; 29 int NumPackets; 30}* ptrSegPack, SegPack; 31 32typedef struct SegmentationList{ 33 char id[SEG_ID]; 34 int LogicalClock; 35 int NumPackets; 36 int ArrivedPcts; 37 struct Fragment *Frag; 38 struct SegmentationList *prev, *next; 39}* ptrSegList; 40 41typedef struct Fragment{ 42 char data[SEG_DATA_SIZE]; 43 int DataSize; 44}* ptrSegVec; 45 46extern struct SegmentationList *first; 47extern struct SegmentationList *last; 48 49#ifdef _INCLUDE_FROM_WB_SEG_C_ 50#undef extern 51#define extern 52#endif /*_INCLUDE_FROM_WB_SEG_C_*/ 53 54extern void InitializeSegmentation ARGS_DECL((void)); 55extern ptrSegPack Segment ARGS_DECL((char *, int, char *, int, int *)); 56extern char *DeSegment ARGS_DECL((struct SegmentationPack, int *)); 57 58#ifdef _INCLUDE_FROM_WB_SEG_C_ 59#undef extern 60#ifndef _NO_RECURSIVE_EXTERN 61#define extern extern 62#endif /* ~_NO_RECURSIVE_EXTERN */ 63#endif /*_INCLUDE_FROM_WB_SEG_C_*/ 64 65#endif /* _WB_SEG_E */ 66