📄 acenv.h
字号:
#include "acwin64.h"#elif defined(MSDOS) /* Must appear after WIN32 and WIN64 check */#include "acdos16.h"#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)#include "acfreebsd.h"#elif defined(__NetBSD__)#include "acnetbsd.h"#elif defined(MODESTO)#include "acmodesto.h"#elif defined(NETWARE)#include "acnetware.h"#elif defined(__sun)#include "acsolaris.h"#else/* All other environments */#define ACPI_USE_STANDARD_HEADERS#define COMPILER_DEPENDENT_INT64 long long#define COMPILER_DEPENDENT_UINT64 unsigned long long#endif/*! [End] no source code translation !*//* * Debugger threading model * Use single threaded if the entire subsystem is contained in an application * Use multiple threaded when the subsystem is running in the kernel. * * By default the model is single threaded if ACPI_APPLICATION is set, * multi-threaded if ACPI_APPLICATION is not set. */#define DEBUGGER_SINGLE_THREADED 0#define DEBUGGER_MULTI_THREADED 1#ifndef DEBUGGER_THREADING#ifdef ACPI_APPLICATION#define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED#else#define DEBUGGER_THREADING DEBUGGER_MULTI_THREADED#endif#endif /* !DEBUGGER_THREADING *//****************************************************************************** * * C library configuration * *****************************************************************************/#define ACPI_IS_ASCII(c) ((c) < 0x80)#ifdef ACPI_USE_SYSTEM_CLIBRARY/* * Use the standard C library headers. * We want to keep these to a minimum. */#ifdef ACPI_USE_STANDARD_HEADERS/* * Use the standard headers from the standard locations */#include <stdarg.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#endif /* ACPI_USE_STANDARD_HEADERS *//* * We will be linking to the standard Clib functions */#define ACPI_STRSTR(s1,s2) strstr((s1), (s2))#define ACPI_STRCHR(s1,c) strchr((s1), (c))#define ACPI_STRLEN(s) (ACPI_SIZE) strlen((s))#define ACPI_STRCPY(d,s) (void) strcpy((d), (s))#define ACPI_STRNCPY(d,s,n) (void) strncpy((d), (s), (ACPI_SIZE)(n))#define ACPI_STRNCMP(d,s,n) strncmp((d), (s), (ACPI_SIZE)(n))#define ACPI_STRCMP(d,s) strcmp((d), (s))#define ACPI_STRCAT(d,s) (void) strcat((d), (s))#define ACPI_STRNCAT(d,s,n) strncat((d), (s), (ACPI_SIZE)(n))#define ACPI_STRTOUL(d,s,n) strtoul((d), (s), (ACPI_SIZE)(n))#define ACPI_MEMCMP(s1,s2,n) memcmp((const char *)(s1), (const char *)(s2), (ACPI_SIZE)(n))#define ACPI_MEMCPY(d,s,n) (void) memcpy((d), (s), (ACPI_SIZE)(n))#define ACPI_MEMSET(d,s,n) (void) memset((d), (s), (ACPI_SIZE)(n))#define ACPI_TOUPPER(i) toupper((int) (i))#define ACPI_TOLOWER(i) tolower((int) (i))#define ACPI_IS_XDIGIT(i) isxdigit((int) (i))#define ACPI_IS_DIGIT(i) isdigit((int) (i))#define ACPI_IS_SPACE(i) isspace((int) (i))#define ACPI_IS_UPPER(i) isupper((int) (i))#define ACPI_IS_PRINT(i) isprint((int) (i))#define ACPI_IS_ALPHA(i) isalpha((int) (i))#else/****************************************************************************** * * Not using native C library, use local implementations * *****************************************************************************/ /* * Use local definitions of C library macros and functions * NOTE: The function implementations may not be as efficient * as an inline or assembly code implementation provided by a * native C library. */#ifndef va_arg#ifndef _VALIST#define _VALISTtypedef char *va_list;#endif /* _VALIST *//* * Storage alignment properties */#define _AUPBND (sizeof (ACPI_NATIVE_INT) - 1)#define _ADNBND (sizeof (ACPI_NATIVE_INT) - 1)/* * Variable argument list macro definitions */#define _Bnd(X, bnd) (((sizeof (X)) + (bnd)) & (~(bnd)))#define va_arg(ap, T) (*(T *)(((ap) += (_Bnd (T, _AUPBND))) - (_Bnd (T,_ADNBND))))#define va_end(ap) (void) 0#define va_start(ap, A) (void) ((ap) = (((char *) &(A)) + (_Bnd (A,_AUPBND))))#endif /* va_arg */#define ACPI_STRSTR(s1,s2) AcpiUtStrstr ((s1), (s2))#define ACPI_STRCHR(s1,c) AcpiUtStrchr ((s1), (c))#define ACPI_STRLEN(s) (ACPI_SIZE) AcpiUtStrlen ((s))#define ACPI_STRCPY(d,s) (void) AcpiUtStrcpy ((d), (s))#define ACPI_STRNCPY(d,s,n) (void) AcpiUtStrncpy ((d), (s), (ACPI_SIZE)(n))#define ACPI_STRNCMP(d,s,n) AcpiUtStrncmp ((d), (s), (ACPI_SIZE)(n))#define ACPI_STRCMP(d,s) AcpiUtStrcmp ((d), (s))#define ACPI_STRCAT(d,s) (void) AcpiUtStrcat ((d), (s))#define ACPI_STRNCAT(d,s,n) AcpiUtStrncat ((d), (s), (ACPI_SIZE)(n))#define ACPI_STRTOUL(d,s,n) AcpiUtStrtoul ((d), (s), (ACPI_SIZE)(n))#define ACPI_MEMCMP(s1,s2,n) AcpiUtMemcmp((const char *)(s1), (const char *)(s2), (ACPI_SIZE)(n))#define ACPI_MEMCPY(d,s,n) (void) AcpiUtMemcpy ((d), (s), (ACPI_SIZE)(n))#define ACPI_MEMSET(d,v,n) (void) AcpiUtMemset ((d), (v), (ACPI_SIZE)(n))#define ACPI_TOUPPER AcpiUtToUpper#define ACPI_TOLOWER AcpiUtToLower#endif /* ACPI_USE_SYSTEM_CLIBRARY *//****************************************************************************** * * Assembly code macros * *****************************************************************************//* * Handle platform- and compiler-specific assembly language differences. * These should already have been defined by the platform includes above. * * Notes: * 1) Interrupt 3 is used to break into a debugger * 2) Interrupts are turned off during ACPI register setup *//* Unrecognized compiler, use defaults */#ifndef ACPI_ASM_MACROS/* * Calling conventions: * * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) * ACPI_EXTERNAL_XFACE - External ACPI interfaces * ACPI_INTERNAL_XFACE - Internal ACPI interfaces * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces */#define ACPI_SYSTEM_XFACE#define ACPI_EXTERNAL_XFACE#define ACPI_INTERNAL_XFACE#define ACPI_INTERNAL_VAR_XFACE#define ACPI_ASM_MACROS#define BREAKPOINT3#define ACPI_DISABLE_IRQS()#define ACPI_ENABLE_IRQS()#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq)#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq)#endif /* ACPI_ASM_MACROS */#ifdef ACPI_APPLICATION/* Don't want software interrupts within a ring3 application */#undef BREAKPOINT3#define BREAKPOINT3#endif/****************************************************************************** * * Compiler-specific information is contained in the compiler-specific * headers. * *****************************************************************************/#endif /* __ACENV_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -