74 lines
2.1 KiB
C
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__ */
|
|
|