1 /* _NVRM_COPYRIGHT_BEGIN_
3 * Copyright 2008-2009 by NVIDIA Corporation. All rights reserved. All
4 * information contained herein is proprietary and confidential to NVIDIA
5 * Corporation. Any use, reproduction, or disclosure without the written
6 * permission of NVIDIA Corporation is prohibited.
11 /* Hide XAPIGEN helpers used in sdk headers from the C compiler. */
13 /* $NV_ROOT/tools/xapi/inc/xapi-sdk-fixup.h */
14 /* which overrides these #defines when actually using xapigen. */
20 #define XAPI_MAX_FIELD_SIZE 4096 /* Default max size for an XAPI field */
22 #define XAPI_SWITCH(x)
23 #define XAPI_HIDDEN(x) x
24 #define XAPI_FIELD_PTR_AS_VALUE(TYPE, FIELD_NAME) \
26 #define XAPI_FIELD_HIDDEN(FIELD_NAME) \
28 #define XAPI_FIELD_FUNCTION_PTR(TYPE, FIELD_NAME) \
30 #define XAPI_FIELD_STRING(FIELD_NAME, MAXCHARS) \
31 char FIELD_NAME[MAXCHARS]
32 #define XAPI_FIELD_PTR_TO_STRING(FIELD_NAME, MAXCHARS) \
34 #define XAPI_FIELD_NVP64_PTR_TO_STRING(FIELD_NAME, MAXCHARS) \
35 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
36 #define XAPI_FIELD_NVP64_PTR_TO_STRING_CI(FIELD_NAME, MAXCHARS) \
37 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
38 #define XAPI_FIELD_NVP64_PTR_TO_STRING_CO(FIELD_NAME, MAXCHARS) \
39 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
41 #define XAPI_FIELD_FIXED_BYTE_ARRAY(FIELD_NAME, MAXELEMENTS) \
42 NvU8 FIELD_NAME[MAXELEMENTS]
43 #define XAPI_FIELD_FIXED_BYTE_ARRAY_CI(FIELD_NAME, MAXELEMENTS) \
44 NvU8 FIELD_NAME[MAXELEMENTS]
45 #define XAPI_FIELD_FIXED_BYTE_ARRAY_CO(FIELD_NAME, MAXELEMENTS) \
46 NvU8 FIELD_NAME[MAXELEMENTS]
48 #define XAPI_FIELD_COUNTED_BYTE_ARRAY(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
49 NvU8 FIELD_NAME[MAXELEMENTS]
50 #define XAPI_FIELD_COUNTED_BYTE_ARRAY_CI(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
51 NvU8 FIELD_NAME[MAXELEMENTS]
52 #define XAPI_FIELD_COUNTED_BYTE_ARRAY_CO(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
53 NvU8 FIELD_NAME[MAXELEMENTS]
55 #define XAPI_FIELD_PTR_TO_COUNTED_BYTE_ARRAY(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
57 #define XAPI_FIELD_PTR_TO_COUNTED_BYTE_ARRAY_CI(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
59 #define XAPI_FIELD_PTR_TO_COUNTED_BYTE_ARRAY_CO(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
62 #define XAPI_FIELD_NVP64_PTR_TO_COUNTED_BYTE_ARRAY(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
63 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
64 #define XAPI_FIELD_NVP64_PTR_TO_COUNTED_BYTE_ARRAY_CI(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
65 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
66 #define XAPI_FIELD_NVP64_PTR_TO_COUNTED_BYTE_ARRAY_CO(FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
67 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
69 #define XAPI_FIELD_PTR_TO_ARRAY(TYPE, PTR_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
71 #define XAPI_FIELD_PTR_TO_ARRAY_CI(TYPE, PTR_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
73 #define XAPI_FIELD_PTR_TO_ARRAY_CO(TYPE, PTR_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
76 #define XAPI_FIELD_NVP64_PTR_TO_ARRAY(TYPE, PTR_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
77 NvP64 PTR_FIELD_NAME NV_ALIGN_BYTES(8)
78 #define XAPI_FIELD_NVP64_PTR_TO_ARRAY_CI(TYPE, PTR_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
79 NvP64 PTR_FIELD_NAME NV_ALIGN_BYTES(8)
80 #define XAPI_FIELD_NVP64_PTR_TO_ARRAY_CO(TYPE, PTR_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
81 NvP64 PTR_FIELD_NAME NV_ALIGN_BYTES(8)
83 #define XAPI_FIELD_ARRAY(TYPE, INLINE_ARRAY_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
84 TYPE INLINE_ARRAY_FIELD_NAME[MAXELEMENTS]
85 #define XAPI_FIELD_ARRAY_CI(TYPE, INLINE_ARRAY_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
86 TYPE INLINE_ARRAY_FIELD_NAME[MAXELEMENTS]
87 #define XAPI_FIELD_ARRAY_CO(TYPE, INLINE_ARRAY_FIELD_NAME, FIELD_COUNT, MAXELEMENTS) \
88 TYPE INLINE_ARRAY_FIELD_NAME[MAXELEMENTS]
90 #define XAPI_FIELD_UNION(TYPE, INLINE_UNION_FIELD_NAME, DISCRIMINANT_FIELD) \
91 TYPE INLINE_UNION_FIELD_NAME
92 #define XAPI_FIELD_UNION_CI(TYPE, INLINE_UNION_FIELD_NAME, DISCRIMINANT_FIELD) \
93 TYPE INLINE_UNION_FIELD_NAME
94 #define XAPI_FIELD_UNION_CO(TYPE, INLINE_UNION_FIELD_NAME, DISCRIMINANT_FIELD) \
95 TYPE INLINE_UNION_FIELD_NAME
97 #define XAPI_FIELD_NVP64_PTR(TYPE, FIELD_NAME) \
98 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
99 #define XAPI_FIELD_NVP64_PTR_CI(TYPE, FIELD_NAME) \
100 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
101 #define XAPI_FIELD_NVP64_PTR_CO(TYPE, FIELD_NAME) \
102 NvP64 FIELD_NAME NV_ALIGN_BYTES(8)
107 #endif // _XAPI_SDK_H_