0,0 → 1,74 |
/* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ |
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ |
#ifndef __dj_include_sys_system_h__ |
#define __dj_include_sys_system_h__ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#ifndef __dj_ENFORCE_ANSI_FREESTANDING |
|
#ifndef __STRICT_ANSI__ |
|
#ifndef _POSIX_SOURCE |
|
extern int _shell_command (const char *_prog, const char *_cmdline); |
extern int _is_unixy_shell (const char *_prog); |
extern int _is_dos_shell (const char *_prog); |
|
/* Checking for special executable formats */ |
|
typedef struct { |
char magic[16]; |
int struct_length; |
char go32[16]; |
unsigned char buffer[0]; |
} _v1_stubinfo; |
|
|
typedef struct { |
union { |
unsigned version:8; /* The version of DJGPP created that COFF exe */ |
struct { |
unsigned minor:4; /* The minor version of DJGPP */ |
unsigned major:4; /* The major version of DJGPP */ |
} v; |
} version; |
|
unsigned object_format:4; /* What an object format */ |
# define _V2_OBJECT_FORMAT_UNKNOWN 0x00 |
# define _V2_OBJECT_FORMAT_COFF 0x01 |
|
unsigned exec_format:4; /* What an executable format */ |
# define _V2_EXEC_FORMAT_UNKNOWN 0x00 |
# define _V2_EXEC_FORMAT_COFF 0x01 |
# define _V2_EXEC_FORMAT_STUBCOFF 0x02 |
# define _V2_EXEC_FORMAT_EXE 0x03 |
# define _V2_EXEC_FORMAT_UNIXSCRIPT 0x04 |
|
unsigned valid:1; /* Only when nonzero all the information is valid */ |
|
unsigned has_stubinfo:1; /* When nonzero the stubinfo info is valid */ |
|
unsigned unused:14; |
|
_v1_stubinfo *stubinfo; |
} _v2_prog_type; |
|
/* When program == NULL you have to pass a valid file handle |
in fd, otherwise the file is opened and closed by the function */ |
const _v2_prog_type *_check_v2_prog(const char *program, int fd); |
|
#endif /* !_POSIX_SOURCE */ |
#endif /* !__STRICT_ANSI__ */ |
#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */ |
|
#ifndef __dj_ENFORCE_FUNCTION_CALLS |
#endif /* !__dj_ENFORCE_FUNCTION_CALLS */ |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* __dj_include_sys_system_h__ */ |