Mercurial > hg > early-roguelike
comparison rogue3/mdport.h @ 0:527e2150eaf0
Import Rogue 3.6 from the Roguelike Restoration Project (r1490)
| author | edwarj4 |
|---|---|
| date | Tue, 13 Oct 2009 13:33:34 +0000 |
| parents | |
| children | 12e070d1a780 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:527e2150eaf0 |
|---|---|
| 1 /* | |
| 2 mdport.h - Machine Dependent Code for Porting Unix/Curses games | |
| 3 | |
| 4 Copyright (C) 2008 Nicholas J. Kisseberth | |
| 5 All rights reserved. | |
| 6 | |
| 7 Redistribution and use in source and binary forms, with or without | |
| 8 modification, are permitted provided that the following conditions | |
| 9 are met: | |
| 10 1. Redistributions of source code must retain the above copyright | |
| 11 notice, this list of conditions and the following disclaimer. | |
| 12 2. Redistributions in binary form must reproduce the above copyright | |
| 13 notice, this list of conditions and the following disclaimer in the | |
| 14 documentation and/or other materials provided with the distribution. | |
| 15 3. Neither the name(s) of the author(s) nor the names of other contributors | |
| 16 may be used to endorse or promote products derived from this software | |
| 17 without specific prior written permission. | |
| 18 | |
| 19 THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTORS ``AS IS'' AND | |
| 20 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| 21 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
| 22 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTORS BE LIABLE | |
| 23 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
| 24 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
| 25 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
| 26 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
| 27 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
| 28 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
| 29 SUCH DAMAGE. | |
| 30 */ | |
| 31 | |
| 32 #ifdef HAVE_CONFIG_H | |
| 33 #ifdef PDCURSES | |
| 34 #undef HAVE_UNISTD_H | |
| 35 #undef HAVE_LIMITS_H | |
| 36 #undef HAVE_MEMORY_H | |
| 37 #undef HAVE_STRING_H | |
| 38 #endif | |
| 39 #include "config.h" | |
| 40 | |
| 41 #elif defined(__DJGPP__) | |
| 42 #define HAVE_SYS_TYPES_H 1 | |
| 43 #define HAVE_PROCESS_H 1 | |
| 44 #define HAVE_PWD_H 1 | |
| 45 #define HAVE_TERMIOS_H 1 | |
| 46 #define HAVE_SETGID 1 | |
| 47 #define HAVE_GETGID 1 | |
| 48 #define HAVE_SETUID 1 | |
| 49 #define HAVE_GETUID 1 | |
| 50 #define HAVE_GETPASS 1 | |
| 51 #define HAVE_SPAWNL 1 | |
| 52 #define HAVE_ALARM 1 | |
| 53 #define HAVE_ERASECHAR 1 | |
| 54 #define HAVE_KILLCHAR 1 | |
| 55 #define HAVE_CRYPT | |
| 56 | |
| 57 #elif defined(_WIN32) | |
| 58 #define HAVE_CURSES_H | |
| 59 #define HAVE_TERM_H | |
| 60 #define HAVE__SPAWNL | |
| 61 #define HAVE_SYS_TYPES_H | |
| 62 #define HAVE_PROCESS_H | |
| 63 #define HAVE_ERASECHAR 1 | |
| 64 #define HAVE_KILLCHAR 1 | |
| 65 #ifndef uid_t | |
| 66 typedef unsigned int uid_t; | |
| 67 #endif | |
| 68 #ifndef pid_t | |
| 69 typedef unsigned int pid_t; | |
| 70 #endif | |
| 71 | |
| 72 #elif defined(__CYGWIN__) | |
| 73 #define HAVE_SYS_TYPES_H 1 | |
| 74 #define HAVE_PWD_H 1 | |
| 75 #define HAVE_PWD_H 1 | |
| 76 #define HAVE_SYS_UTSNAME_H 1 | |
| 77 #define HAVE_ARPA_INET_H 1 | |
| 78 #define HAVE_UNISTD_H 1 | |
| 79 #define HAVE_TERMIOS_H 1 | |
| 80 #define HAVE_NCURSES_TERM_H 1 | |
| 81 #define HAVE_ESCDELAY | |
| 82 #define HAVE_SETGID 1 | |
| 83 #define HAVE_GETGID 1 | |
| 84 #define HAVE_SETUID 1 | |
| 85 #define HAVE_GETUID 1 | |
| 86 #define HAVE_GETPASS 1 | |
| 87 #define HAVE_GETPWUID 1 | |
| 88 #define HAVE_WORKING_FORK 1 | |
| 89 #define HAVE_ALARM 1 | |
| 90 #define HAVE_SPAWNL 1 | |
| 91 #define HAVE__SPAWNL 1 | |
| 92 #define HAVE_ERASECHAR 1 | |
| 93 #define HAVE_KILLCHAR 1 | |
| 94 #define HAVE_CRYPT 1 | |
| 95 | |
| 96 #else /* standards based unix */ | |
| 97 #define HAVE_SYS_TYPES_H 1 | |
| 98 #define HAVE_PWD_H 1 | |
| 99 #define HAVE_SYS_UTSNAME_H 1 | |
| 100 #define HAVE_ARPA_INET_H 1 | |
| 101 #define HAVE_UNISTD_H 1 | |
| 102 #define HAVE_CRYPT_H 1 | |
| 103 #define HAVE_LIMITS_H 1 | |
| 104 #define HAVE_TERMIOS_H 1 | |
| 105 #define HAVE_UTMPX_H 1 | |
| 106 #define HAVE_ERRNO_H 1 | |
| 107 #define HAVE_TERM_H 1 | |
| 108 #define HAVE_SETGID 1 | |
| 109 #define HAVE_GETGID 1 | |
| 110 #define HAVE_SETUID 1 | |
| 111 #define HAVE_GETUID 1 | |
| 112 #define HAVE_SETREUID 1 | |
| 113 #define HAVE_SETREGID 1 | |
| 114 #define HAVE_CRYPT 1 | |
| 115 #define HAVE_GETPASS 1 | |
| 116 #define HAVE_GETPWUID 1 | |
| 117 #define HAVE_WORKING_FORK 1 | |
| 118 #define HAVE_ERASECHAR 1 | |
| 119 #define HAVE_KILLCHAR 1 | |
| 120 #ifndef _AIX | |
| 121 #define HAVE_GETLOADAVG 1 | |
| 122 #endif | |
| 123 #define HAVE_ALARM 1 | |
| 124 #endif | |
| 125 | |
| 126 #ifdef __DJGPP__ | |
| 127 #undef HAVE_GETPWUID /* DJGPP's limited version doesn't even work as documented */ | |
| 128 #endif | |
| 129 | |
| 130 #define MD_STRIP_CTRL_KEYPAD 1 | |
| 131 | |
| 132 #ifdef HAVE_SYS_TYPES_H | |
| 133 #include <sys/types.h> | |
| 134 #endif | |
| 135 | |
| 136 #ifdef HAVE_LIMITS_H | |
| 137 #include <limits.h> | |
| 138 #endif | |
| 139 | |
| 140 #if !defined(PATH_MAX) && defined(_MAX_PATH) | |
| 141 #define PATH_MAX _MAX_PATH | |
| 142 #endif | |
| 143 | |
| 144 #if !defined(PATH_MAX) && defined(_PATH_MAX) | |
| 145 #define PATH_MAX _PATH_MAX | |
| 146 #endif | |
| 147 | |
| 148 #ifndef HAVE_CRYPT | |
| 149 char * crypt(const char *key, const char *setting); | |
| 150 #else | |
| 151 #ifdef HAVE_UNISTD_H | |
| 152 #include <unistd.h> | |
| 153 #endif | |
| 154 #ifdef HAVE_CRYPT_H | |
| 155 #include <crypt.h> | |
| 156 #endif | |
| 157 #endif | |
| 158 | |
| 159 int md_chmod(const char *filename, int mode); | |
| 160 int md_dsuspchar(void); | |
| 161 int md_erasechar(void); | |
| 162 char * md_gethomedir(void); | |
| 163 char * md_getusername(void); | |
| 164 uid_t md_getuid(void); | |
| 165 char * md_getpass(char *prompt); | |
| 166 pid_t md_getpid(void); | |
| 167 char * md_getrealname(uid_t uid); | |
| 168 void md_init(int options); | |
| 169 int md_killchar(void); | |
| 170 void md_normaluser(void); | |
| 171 void md_raw_standout(void); | |
| 172 void md_raw_standend(void); | |
| 173 int md_readchar(WINDOW *win); | |
| 174 int md_setdsuspchar(int c); | |
| 175 int md_shellescape(void); | |
| 176 void md_sleep(int s); | |
| 177 int md_suspchar(void); | |
| 178 int md_hasclreol(void); | |
| 179 int md_unlink(char *file); | |
| 180 int md_unlink_open_file(const char *file, FILE *inf); | |
| 181 void md_tstpsignal(void); | |
| 182 void md_tstphold(void); | |
| 183 void md_tstpresume(void (*tstp)(int)); | |
| 184 void md_ignoreallsignals(void); | |
| 185 void md_onsignal_autosave(void); | |
| 186 void md_onsignal_exit(void); | |
| 187 void md_onsignal_default(void); | |
| 188 int md_issymlink(char *sp); | |
| 189 int md_loadav(double *avg); | |
| 190 long md_memused(void); | |
| 191 int md_ucount(void); | |
| 192 int md_unlockfile(FILE *fp); | |
| 193 int md_lockfile(FILE *fp); |
