| author | David Anderson <dvander@alliedmods.net> |
| Wed Feb 25 20:07:12 2009 -0500 (2009-02-25) | |
| changeset 2607 | f3b8bbe17f85 |
| parent 2471 | 194be299b700 |
| child 2783 | 5f333027ef04 |
| permissions | -rw-r--r-- |
| dvander@353 | 1 |
/* |
| dvander@353 | 2 |
* Things needed to compile under linux. |
| dvander@353 | 3 |
* |
| dvander@353 | 4 |
* Should be reworked totally to use GNU's 'configure' |
| dvander@353 | 5 |
*/ |
| dvander@353 | 6 |
#ifndef SCLINUX_H |
| dvander@353 | 7 |
#define SCLINUX_H |
| dvander@353 | 8 |
|
| dvander@353 | 9 |
/* getchar() is not a 'cool' replacement for MSDOS getch: Linux/unix depends on the features activated or not about the |
| dvander@353 | 10 |
* controlling terminal's tty. This means that ioctl(2) calls must be performed, for instance to have the controlling |
| dvander@353 | 11 |
* terminal tty's in 'raw' mode, if we want to be able to fetch a single character. This also means that everything must |
| dvander@353 | 12 |
* be put back correctly when the function ends. See GETCH.C for an implementation. |
| dvander@353 | 13 |
* |
| dvander@353 | 14 |
* For interactive use of SRUN/SDBG if would be much better to use GNU's readline package: the user would be able to |
| dvander@353 | 15 |
* have a complete emacs/vi like line editing system. |
| dvander@353 | 16 |
*/ |
| dvander@353 | 17 |
#include "getch.h" |
| dvander@353 | 18 |
|
| dvander@353 | 19 |
#define stricmp(a,b) strcasecmp(a,b) |
| dvander@353 | 20 |
#define strnicmp(a,b,c) strncasecmp(a,b,c) |
| dvander@353 | 21 |
|
| dvander@353 | 22 |
/* |
| dvander@353 | 23 |
* WinWorld wants '\'. Unices do not. |
| dvander@353 | 24 |
*/ |
| dvander@353 | 25 |
#define DIRECTORY_SEP_CHAR '/' |
| dvander@353 | 26 |
#define DIRECTORY_SEP_STR "/" |
| dvander@353 | 27 |
|
| dvander@353 | 28 |
/* |
| dvander@353 | 29 |
* SC assumes that a computer is Little Endian unless told otherwise. It uses |
| dvander@353 | 30 |
* (and defines) the macros BYTE_ORDER and BIG_ENDIAN. |
| dvander@353 | 31 |
* For Linux, we must overrule these settings with those defined in glibc. |
| dvander@353 | 32 |
*/ |
| dvander@353 | 33 |
#if !defined __BYTE_ORDER |
| dvander@353 | 34 |
# include <stdlib.h> |
| dvander@353 | 35 |
#endif |
| dvander@353 | 36 |
|
| dvander@2471 | 37 |
#if defined __OpenBSD__ || defined __FreeBSD__ || defined __APPLE__ |
| dvander@353 | 38 |
# define __BYTE_ORDER BYTE_ORDER |
| dvander@353 | 39 |
# define __LITTLE_ENDIAN LITTLE_ENDIAN |
| dvander@353 | 40 |
# define __BIG_ENDIAN BIG_ENDIAN |
| dvander@353 | 41 |
#endif |
| dvander@353 | 42 |
|
| dvander@353 | 43 |
#if !defined __BYTE_ORDER |
| dvander@353 | 44 |
# error "Can't figure computer byte order (__BYTE_ORDER macro not found)" |
| dvander@353 | 45 |
#endif |
| dvander@353 | 46 |
|
| dvander@353 | 47 |
#endif /* SCLINUX_H */ |