1 /** 2 * @file 3 * @brief Message IO functions - handles byte ordering and avoids alignment errors 4 */ 5 6 /* 7 Copyright (C) 1997-2001 Id Software, Inc. 8 9 This program is free software; you can redistribute it and/or 10 modify it under the terms of the GNU General Public License 11 as published by the Free Software Foundation; either version 2 12 of the License, or (at your option) any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 17 18 See the GNU General Public License for more details. 19 20 You should have received a copy of the GNU General Public License 21 along with this program; if not, write to the Free Software 22 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 23 24 */ 25 26 #pragma once 27 28 typedef struct sizebuf_s { 29 byte* data; /**< pointer to the data in the buffer */ 30 int maxsize; /**< max. size of the allocated buffer */ 31 int cursize; /**< current used size of the buffer */ 32 int readcount; /**< current read position */ 33 } sizebuf_t; 34 35 void SZ_Init(sizebuf_t* buf, byte* data, int length); 36 void SZ_Clear(sizebuf_t* buf); 37 void SZ_Write(sizebuf_t* buf, const void* data, int length); 38