1
0
Files
irix-657m-src/eoe/include/getabi.h
2022-09-29 17:59:04 +03:00

74 lines
2.1 KiB
C

#ifndef __GETABI_H__
#define __GETABI_H__
#ident "$Revision: 1.3 $"
#ifdef __cplusplus
extern "C" {
#endif
/*
* Declarations for getabi().
*
* Copyright 1994, Silicon Graphics, Inc.
* All Rights Reserved.
*
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
* the contents of this file may not be disclosed to third parties, copied or
* duplicated in any form, in whole or in part, without the prior written
* permission of Silicon Graphics, Inc.
*
* RESTRICTED RIGHTS LEGEND:
* Use, duplication or disclosure by the Government is subject to restrictions
* as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
* and Computer Software clause at DFARS 252.227-7013, and/or in similar or
* successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
* rights reserved under the Copyright Laws of the United States.
*/
/* enumeration of possible abi types */
typedef enum {
noabi,
abi32, /* -32, generic 32-bit abi */
abio32, /* -o32, old mips1 32-bit abi */
abin32, /* -n32, new 32-bit abi */
abi64, /* -64, 64-bit abi */
lastabi
} abi_t;
/* values for generic-size */
#define SPECIFIC_ABI 0
#define GENERIC_ABI_SIZE 1
/* values for modify-abi-arg */
#define IGNORE_ABI_ARG 0
#define PRESERVE_ABI_ARG 1
#define REMOVE_ABI_ARG 2
#define ADD_ABI_ARG 3
#define ADD_FRONT_ABI_ARG 4
/*
* getabi() is used to determine what the abi is.
* First it checks the argv list,
* then the environment variable SGI_ABI,
* then the kernel (64-bit kernel defaults to 64-bit abi).
* The generic_size boolean says whether to report the generic
* size of the abi (abi32 or abi64) or to report the specific abi.
* The modify_abi_arg says to either ignore the argv list,
* or search the argv list and either preserve the args "as is",
* or remove the arg that specifies the abi
* or add the default value to the argv.
* Noabi is returned if an error occurs.
*/
extern abi_t getabi (
int, /*generic_size*/
int, /*modify_abi_arg*/
char***, /*argv*/
int* /*argc*/
);
#ifdef __cplusplus
}
#endif
#endif /* !__GETABI_H__ */