|
|
1.1 ! root 1: /* $Id: cterm.h,v 1.13 2005/11/20 06:36:34 deuce Exp $ */ ! 2: ! 3: /**************************************************************************** ! 4: * @format.tab-size 4 (Plain Text/Source Code File Header) * ! 5: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * ! 6: * * ! 7: * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html * ! 8: * * ! 9: * This library is free software; you can redistribute it and/or * ! 10: * modify it under the terms of the GNU Lesser 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: * See the GNU Lesser General Public License for more details: lgpl.txt or * ! 14: * http://www.fsf.org/copyleft/lesser.html * ! 15: * * ! 16: * Anonymous FTP access to the most recent released source is available at * ! 17: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * ! 18: * * ! 19: * Anonymous CVS access to the development source and modification history * ! 20: * is available at cvs.synchro.net:/cvsroot/sbbs, example: * ! 21: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login * ! 22: * (just hit return, no password is necessary) * ! 23: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src * ! 24: * * ! 25: * For Synchronet coding style and modification guidelines, see * ! 26: * http://www.synchro.net/source.html * ! 27: * * ! 28: * You are encouraged to submit any modifications (preferably in Unix diff * ! 29: * format) via e-mail to [email protected] * ! 30: * * ! 31: * Note: If this box doesn't appear square, then you need to fix your tabs. * ! 32: ****************************************************************************/ ! 33: ! 34: #ifndef _CTERM_H_ ! 35: #define _CTERM_H_ ! 36: ! 37: #include <stdio.h> /* FILE* */ ! 38: ! 39: enum { ! 40: CTERM_MUSIC_NORMAL ! 41: ,CTERM_MUSIC_LEGATO ! 42: ,CTERM_MUSIC_STACATTO ! 43: }; ! 44: ! 45: enum { ! 46: CTERM_LOG_NONE ! 47: ,CTERM_LOG_ASCII ! 48: ,CTERM_LOG_RAW ! 49: }; ! 50: ! 51: #define CTERM_LOG_MASK 0x7f ! 52: #define CTERM_LOG_PAUSED 0x80 ! 53: ! 54: struct cterminal { ! 55: int height; ! 56: int width; ! 57: int x; ! 58: int y; ! 59: char *buffer; ! 60: int attr; ! 61: int save_xpos; ! 62: int save_ypos; ! 63: char escbuf[1024]; ! 64: int sequence; ! 65: int music_enable; ! 66: char musicbuf[1024]; ! 67: int music; ! 68: int tempo; ! 69: int octave; ! 70: int notelen; ! 71: int noteshape; ! 72: int musicfore; ! 73: char *scrollback; ! 74: int backpos; ! 75: int backlines; ! 76: int xpos; ! 77: int ypos; ! 78: int log; ! 79: FILE* logfile; ! 80: char DA[1024]; ! 81: char fontbuf[4096]; ! 82: int font_slot; ! 83: int font_size; ! 84: int font_read; ! 85: int font_start_time; ! 86: }; ! 87: ! 88: #define CTERM_MUSIC_SYNCTERM 0 ! 89: #define CTERM_MUSIC_BANSI 1 ! 90: #define CTERM_MUSIC_ENABLED 2 ! 91: ! 92: #ifdef __cplusplus ! 93: extern "C" { ! 94: #endif ! 95: ! 96: extern struct cterminal cterm; ! 97: ! 98: void cterm_init(int height, int width, int xpos, int ypos, int backlines, unsigned char *scrollback); ! 99: char *cterm_write(unsigned char *buf, int buflen, char *retbuf, size_t retsize, int *speed); ! 100: int cterm_openlog(char *logfile, int logtype); ! 101: void cterm_closelog(void); ! 102: void cterm_end(void); ! 103: #ifdef __cplusplus ! 104: } ! 105: #endif ! 106: ! 107: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.