1 /* 2 * Empire - A multi-player, client/server Internet based war game. 3 * Copyright (C) 1986-2021, Dave Pare, Jeff Bailey, Thomas Ruschak, 4 * Ken Stevens, Steve McClure, Markus Armbruster 5 * 6 * Empire is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 * 19 * --- 20 * 21 * See files README, COPYING and CREDITS in the root of the source 22 * tree for related information and legal notices. It is expected 23 * that future projects/authors will amend these files as needed. 24 * 25 * --- 26 * 27 * tel.h: Definitions for things having to do with telegrams 28 * 29 * Known contributors to this file: 30 * Markus Armbruster, 2009-2011 31 */ 32 33 #ifndef TEL_H 34 #define TEL_H 35 36 #include <stdio.h> 37 #include <time.h> 38 #include "types.h" 39 40 #define MAXTELSIZE 1024 /* doesn't apply to TEL_UPDATE */ 41 42 #define TEL_NORM 0 /* normal */ 43 #define TEL_ANNOUNCE 1 /* announcement */ 44 #define TEL_BULLETIN 2 /* bulletin */ 45 #define TEL_UPDATE 3 /* update message */ 46 #define TEL_LAST 3 47 48 #define TEL_SECONDS 5 /* how many seconds before starting a new telegram */ 49 50 struct telstr { 51 natid tel_from; /* sender */ 52 unsigned char tel_type; 53 signed char tel_cont; /* squash into prev. telegram? */ 54 unsigned tel_length; /* how long */ 55 time_t tel_date; /* when sent */ 56 }; 57 58 extern char *mailbox(char *buf, natid cn); 59 extern int mailbox_create(char *); 60 extern int tel_read_header(FILE *, char *, struct telstr *); 61 extern int tel_read_body(FILE *, char *, struct telstr *, 62 int (*sink)(char *, size_t, void *), 63 void *); 64 65 #endif 66