The new function md_random_seed() has replaced time() + getpid() and similar methods. Putting everything in mdport.c slightly reduces the warnings and workarounds.
169 lines
3.8 KiB
C
169 lines
3.8 KiB
C
/*
|
|
* Defines for things used in mach_dep.c
|
|
*
|
|
* @(#)extern.h 4.35 (Berkeley) 02/05/99
|
|
*
|
|
* Rogue: Exploring the Dungeons of Doom
|
|
* Copyright (C) 1980-1983, 1985, 1999 Michael Toy, Ken Arnold and Glenn Wichman
|
|
* All rights reserved.
|
|
*
|
|
* See the file LICENSE.TXT for full copyright and licensing information.
|
|
*/
|
|
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#ifdef PDCURSES
|
|
#undef HAVE_UNISTD_H
|
|
#undef HAVE_LIMITS_H
|
|
#undef HAVE_MEMORY_H
|
|
#undef HAVE_STRING_H
|
|
#endif
|
|
#include "config.h"
|
|
#elif defined(__DJGPP__)
|
|
#define HAVE_SYS_TYPES_H 1
|
|
#define HAVE_PROCESS_H 1
|
|
#define HAVE_PWD_H 1
|
|
#define HAVE_TERMIOS_H 1
|
|
#define HAVE_SETGID 1
|
|
#define HAVE_GETGID 1
|
|
#define HAVE_SETUID 1
|
|
#define HAVE_GETUID 1
|
|
#define HAVE_GETPASS 1
|
|
#define HAVE_SPAWNL 1
|
|
#define HAVE_ALARM 1
|
|
#define HAVE_ERASECHAR 1
|
|
#define HAVE_KILLCHAR 1
|
|
#elif defined(_WIN32)
|
|
#define HAVE_CURSES_H
|
|
#define HAVE_TERM_H
|
|
#define HAVE__SPAWNL
|
|
#define HAVE_SYS_TYPES_H
|
|
#define HAVE_PROCESS_H
|
|
#define HAVE_ERASECHAR 1
|
|
#define HAVE_KILLCHAR 1
|
|
#ifndef uid_t
|
|
typedef unsigned int uid_t;
|
|
#endif
|
|
#elif defined(__CYGWIN__)
|
|
#define HAVE_SYS_TYPES_H 1
|
|
#define HAVE_PWD_H 1
|
|
#define HAVE_PWD_H 1
|
|
#define HAVE_SYS_UTSNAME_H 1
|
|
#define HAVE_ARPA_INET_H 1
|
|
#define HAVE_UNISTD_H 1
|
|
#define HAVE_TERMIOS_H 1
|
|
#define HAVE_NCURSES_TERM_H 1
|
|
#define HAVE_ESCDELAY
|
|
#define HAVE_SETGID 1
|
|
#define HAVE_GETGID 1
|
|
#define HAVE_SETUID 1
|
|
#define HAVE_GETUID 1
|
|
#define HAVE_GETPASS 1
|
|
#define HAVE_GETPWUID 1
|
|
#define HAVE_WORKING_FORK 1
|
|
#define HAVE_ALARM 1
|
|
#define HAVE_SPAWNL 1
|
|
#define HAVE__SPAWNL 1
|
|
#define HAVE_ERASECHAR 1
|
|
#define HAVE_KILLCHAR 1
|
|
#else /* POSIX */
|
|
#define HAVE_SYS_TYPES_H 1
|
|
#define HAVE_PWD_H 1
|
|
#define HAVE_PWD_H 1
|
|
#define HAVE_SYS_UTSNAME_H 1
|
|
#define HAVE_ARPA_INET_H 1
|
|
#define HAVE_UNISTD_H 1
|
|
#define HAVE_TERMIOS_H 1
|
|
#define HAVE_TERM_H 1
|
|
#define HAVE_SETGID 1
|
|
#define HAVE_GETGID 1
|
|
#define HAVE_SETUID 1
|
|
#define HAVE_GETUID 1
|
|
#define HAVE_SETREUID 1
|
|
#define HAVE_SETREGID 1
|
|
#define HAVE_GETPASS 1
|
|
#define HAVE_GETPWUID 1
|
|
#define HAVE_WORKING_FORK 1
|
|
#define HAVE_ERASECHAR 1
|
|
#define HAVE_KILLCHAR 1
|
|
#ifndef _AIX
|
|
#define HAVE_GETLOADAVG 1
|
|
#endif
|
|
#define HAVE_ALARM 1
|
|
#endif
|
|
|
|
#ifdef __DJGPP__
|
|
#undef HAVE_GETPWUID /* DJGPP's limited version doesn't even work as documented */
|
|
#endif
|
|
|
|
/*
|
|
* Don't change the constants, since they are used for sizes in many
|
|
* places in the program.
|
|
*/
|
|
|
|
#include <stdlib.h>
|
|
|
|
#undef SIGTSTP
|
|
|
|
#define MAXSTR 1024 /* maximum length of strings */
|
|
#define MAXLINES 32 /* maximum number of screen lines used */
|
|
#define MAXCOLS 80 /* maximum number of screen columns used */
|
|
|
|
#define RN (((seed = seed*11109+13849) >> 16) & 0xffff)
|
|
#ifdef CTRL
|
|
#undef CTRL
|
|
#endif
|
|
#define CTRL(c) (c & 037)
|
|
|
|
/*
|
|
* Now all the global variables
|
|
*/
|
|
|
|
extern int got_ltc, in_shell;
|
|
extern int wizard;
|
|
extern char fruit[], prbuf[], whoami[];
|
|
extern int orig_dsusp;
|
|
extern FILE *scoreboard;
|
|
extern FILE *logfi;
|
|
extern int numscores;
|
|
extern char *Numname;
|
|
extern int allscore;
|
|
extern int use_savedir;
|
|
|
|
/*
|
|
* Function types
|
|
*/
|
|
|
|
int md_chmod(const char *filename, int mode);
|
|
char *md_crypt(const char *key, const char *salt);
|
|
int md_dsuspchar(void);
|
|
int md_erasechar(void);
|
|
char *md_gethomedir(void);
|
|
char *md_getusername(void);
|
|
uid_t md_getuid(void);
|
|
char *md_getpass(char *prompt);
|
|
char *md_getrealname(uid_t uid);
|
|
void md_init(void);
|
|
int md_killchar(void);
|
|
void md_normaluser(void);
|
|
void md_raw_standout(void);
|
|
void md_raw_standend(void);
|
|
int md_readchar(WINDOW *win);
|
|
int md_setdsuspchar(int c);
|
|
int md_shellescape(void);
|
|
void md_sleep(int s);
|
|
int md_suspchar(void);
|
|
int md_hasclreol(void);
|
|
int md_unlink(char *file);
|
|
int md_unlink_open_file(const char *file, FILE *inf);
|
|
void md_tstpsignal(void);
|
|
void md_tstphold(void);
|
|
void md_tstpresume(void);
|
|
void md_ignoreallsignals(void);
|
|
void md_onsignal_autosave(void);
|
|
void md_onsignal_exit(void);
|
|
void md_onsignal_default(void);
|
|
int md_issymlink(char *sp);
|
|
unsigned int md_random_seed(void);
|
|
extern char *xcrypt(const char *key, const char *setting);
|
|
|