57 #if defined __cplusplus
62 #define pwr_dImport extern
67 #define pwr_dEnvBusId "PWR_BUS_ID"
70 #if defined(__GNUC__) || defined(__GNUG__)
71 #define pwr_dPacked __attribute__((packed))
77 #define pwr_dLittleEndian 1
78 #define pwr_dBigEndian 2
80 #if defined(__powerpc__)
81 #define pwr_dHost_byteOrder pwr_dBigEndian
83 #define pwr_Bit(b) (1 << (31 - b))
84 #define pwr_SetByte(byte, val) (val << ((3 - byte) << 3))
87 #define pwr_dHost_byteOrder pwr_dLittleEndian
90 #define pwr_Bit(b) (1 << b)
91 #define pwr_SetByte(byte, val) (val << (byte << 3))
93 #if defined(HW_X86_64) || defined(HW_ARM64)
95 #define pwr_cAlignLW 8
98 #define pwr_cAlignLW 8
100 #define pwr_dAlignW __attribute__((aligned(4)))
101 #define pwr_dAlignLW __attribute__((aligned(8)))
102 #define pwr_AlignW(offs) (((offs) + (pwr_cAlignW - 1)) & ~(pwr_cAlignW - 1))
103 #define pwr_AlignLW(offs) (((offs) + (pwr_cAlignLW - 1)) & ~(pwr_cAlignLW - 1))
104 #define pwr_Align(offs, align) ((offs + (align - 1)) & ~(align - 1))
108 #define pwr_cSizObjName 31
109 #define pwr_cSizPgmName 31
110 #define pwr_cSizStructName 31
111 #define pwr_cSizGraphName 15
112 #define pwr_cSizXRef 31
113 #define pwr_cSizAttrName 31
114 #define pwr_cSizPathName 63
115 #define pwr_cSizFullName 199
116 #define pwr_cSizOName 199
117 #define pwr_cSizAName 399
118 #define pwr_cSizFileName 255
119 #define pwr_cSizCmd 399
169 #if defined(HW_X86_64) || defined(HW_ARM64)
170 typedef long int pwr_tInt64;
171 #define PWR_INT64MAX LONG_MAX
172 #define PWR_INT64MIN LONG_MIN
174 typedef long long int pwr_tInt64;
175 #define PWR_INT64MAX LLONG_MAX
176 #define PWR_INT64MIN LLONG_MIN
188 #if defined(HW_X86_64) || defined(HW_ARM64)
189 typedef unsigned long int pwr_tUInt64;
190 #define PWR_UINT64MAX ULONG_MAX
192 typedef unsigned long long int pwr_tUInt64;
193 #define PWR_UINT64MAX ULLONG_MAX
196 #define PWR_INT8_MAX SCHAR_MAX
197 #define PWR_INT8_MIN SCHAR_MIN
198 #define PWR_UINT8_MAX UCHAR_MAX
199 #define PWR_INT16_MAX SHRT_MAX
200 #define PWR_INT16_MIN SHRT_MIN
201 #define PWR_UINT16_MAX USHRT_MAX
202 #define PWR_INT32_MAX INT_MAX
203 #define PWR_INT32_MIN INT_MIN
204 #define PWR_UINT32_MAX UINT_MAX
205 #define PWR_ATTIME_MAX \
207 PWR_INT64MAX, 1000000000 - 1 \
209 #define PWR_ATTIME_MIN \
213 #define PWR_DTTIME_MAX \
215 PWR_INT64MAX, 1000000000 - 1 \
217 #define PWR_DTTIME_MIN \
219 PWR_INT64MIN, -(1000000000 - 1) \
290 typedef unsigned int pwr_tGeneration;
291 typedef unsigned int pwr_tBid;
292 typedef unsigned int pwr_tVersion;
293 typedef unsigned int pwr_tPwrVersion;
294 typedef unsigned int pwr_tProjVersion;
295 typedef unsigned int pwr_tUserId;
296 typedef unsigned int pwr_tDbId;
323 pwr_eBix_template = 7,
338 #if (pwr_dHost_byteOrder == pwr_dLittleEndian)
345 #elif (pwr_dHost_byteOrder == pwr_dBigEndian)
474 pwr_eEmergBreakSelectEnum_NoAction = 0,
475 pwr_eEmergBreakSelectEnum_Reboot = 1,
476 pwr_eEmergBreakSelectEnum_FixedOutputValues = 2,
477 pwr_eEmergBreakSelectEnum_StopIO = 3
478 } pwr_eEmergBreakSelectEnum;
500 pwr_mRefListFilterMask_CurrentVolume = 1,
501 pwr_mRefListFilterMask_AllVolumes = 2,
502 pwr_mRefListFilterMask_RootVolume = 4,
503 pwr_mRefListFilterMask_SharedVolume = 8,
504 pwr_mRefListFilterMask_Siblings = 16,
505 pwr_mRefListFilterMask_AttrObjects = 32,
506 pwr_mRefListFilterMask_PwrsVolume = 64,
507 pwr_mRefListFilterMask_Other = 128,
508 pwr_mRefListFilterMask_Children = 256
509 } pwr_mRefListFilterMask;
520 #if (pwr_dHost_byteOrder == pwr_dLittleEndian)
532 #elif (pwr_dHost_byteOrder == pwr_dBigEndian)
547 #define pwr_mAttrRef_Indirect pwr_Bit(0)
548 #define pwr_mAttrRef_Object pwr_Bit(1)
549 #define pwr_mAttrRef_ObjectAttr pwr_Bit(2)
550 #define pwr_mAttrRef_Array pwr_Bit(3)
551 #define pwr_mAttrRef_Shadowed pwr_Bit(4)
552 #define pwr_mAttrRef_CastAttr pwr_Bit(5)
553 #define pwr_mAttrRef_DisableAttr pwr_Bit(6)
583 static const pwr_sAttrRef pwr_cNAttrRef = { { 0, 0 }, 0, 0, 0, { 0 } };
584 static const pwr_tOid pwr_cNOid = { 0, 0 };
589 #define pwr_cNSubid pwr_cNRefId
590 #define pwr_cNDlid pwr_cNRefId
591 static const pwr_tOix pwr_cNOix = 0;
601 static const pwr_tCid pwr_cNCid = 0;
602 static const pwr_tTid pwr_cNTid = 0;
603 static const pwr_tVid pwr_cNVid = 0;
604 static const pwr_tNid pwr_cNNid = 0;
606 static const pwr_tTime pwr_cNTime = { 0, 0 };
609 static const pwr_tDataRef pwr_cNDataRef = { 0, pwr_cNAttrRef };
610 static const pwr_tTime pwr_cNotATime = { 0, 1000000000 };
613 static const pwr_tTime pwr_cAtMax = PWR_ATTIME_MAX;
614 static const pwr_tTime pwr_cAtMin = PWR_ATTIME_MIN;
622 #define ODD(a) (((int)(a)&1) != 0)
627 #define EVEN(a) (((int)(a)&1) == 0)
661 #define pwr_Offset(base, field) \
662 ((unsigned long)&((base)->field) - (unsigned long)(base))
665 #define pwr_Field(a, n) a n;
666 #define pwr_Bits(a, n) pwr_tBit a : n;
668 #if pwr_dHost_byteOrder == pwr_dLittleEndian
669 #define pwr_32Bits(a00, a01, a02, a03, a04, a05, a06, a07, a08, a09, a10, a11, \
670 a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \
671 a24, a25, a26, a27, a28, a29, a30, a31) \
673 a00 a01 a02 a03 a04 a05 a06 a07 a08 a09 a10 a11 a12 a13 a14 a15 a16 a17 \
674 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 \
677 #define pwr_Endian_32(a00, a01, a02, a03, a04, a05, a06, a07, a08, a09, a10, \
678 a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, \
679 a22, a23, a24, a25, a26, a27, a28, a29, a30, a31) \
681 a00 a01 a02 a03 a04 a05 a06 a07 a08 a09 a10 a11 a12 a13 a14 a15 a16 a17 a18 \
682 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31
684 #define pwr_Endian_16(a00, a01, a02, a03, a04, a05, a06, a07, a08, a09, a10, \
685 a11, a12, a13, a14, a15) \
687 a00 a01 a02 a03 a04 a05 a06 a07 a08 a09 a10 a11 a12 a13 a14 a15
689 #define pwr_Endian_8(a00, a01, a02, a03, a04, a05, a06, a07) \
690 a00 a01 a02 a03 a04 a05 a06 a07
692 #define pwr_Endian_4(a00, a01, a02, a03) a00 a01 a02 a03
694 #elif pwr_dHost_byteOrder == pwr_dBigEndian
695 #define pwr_32Bits(a00, a01, a02, a03, a04, a05, a06, a07, a08, a09, a10, a11, \
696 a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \
697 a24, a25, a26, a27, a28, a29, a30, a31) \
699 a31 a30 a29 a28 a27 a26 a25 a24 a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 \
700 a13 a12 a11 a10 a09 a08 a07 a06 a05 a04 a03 a02 a01 a00 \
703 #define pwr_Endian_32(a00, a01, a02, a03, a04, a05, a06, a07, a08, a09, a10, \
704 a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, \
705 a22, a23, a24, a25, a26, a27, a28, a29, a30, a31) \
707 a31 a30 a29 a28 a27 a26 a25 a24 a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 \
708 a12 a11 a10 a09 a08 a07 a06 a05 a04 a03 a02 a01 a00
710 #define pwr_Endian_16(a00, a01, a02, a03, a04, a05, a06, a07, a08, a09, a10, \
711 a11, a12, a13, a14, a15) \
713 a15 a14 a13 a12 a11 a10 a09 a08 a07 a06 a05 a04 a03 a02 a01 a00
715 #define pwr_Endian_8(a00, a01, a02, a03, a04, a05, a06, a07) \
716 a07 a06 a05 a04 a03 a02 a01 a00
718 #define pwr_Endian_4(a00, a01, a02, a03) a03 a02 a01 a00
723 #define pwr_dStatus(sts, status, ists) \
724 pwr_tStatus pwr__sts_; \
725 pwr_tStatus* sts = (status == NULL) ? &pwr__sts_ : status; \
730 #define pwr_Status(sts, lsts) ((void*)(sts) ? ((*sts) = (lsts)) : (lsts))
733 #ifndef pwr_StatusBreak
734 #define pwr_StatusBreak(a, b) \
742 #define pwr_Return(a, sts, lsts) \
743 return (((void*)(sts) ? (*sts) = (lsts) : lsts), a)
746 #ifndef pwr_ReturnVoid
747 #define pwr_ReturnVoid(sts, lsts) \
749 ((void*)(sts) ? (*sts) = (lsts) : lsts); \
755 #define pwr_Assert(a) ((void)0)
757 #define pwr_Assert(a) \
758 ((a) ? (void)0 : (void)(printf("pwr assertion (%s) failed,\n in file " \
759 "%s, at line %d\n", \
760 #a, __FILE__, __LINE__), \
764 #if defined(HW_X86_64) || defined(HW_ARM64)
765 #define pwr_dFormatUInt64 "%lu"
766 #define pwr_dFormatInt64 "%ld"
767 #define pwr_dFormatHexInt64 "%lx"
768 #define pwr_dFormatOctInt64 "%lo"
770 #define pwr_dFormatUInt64 "%llu"
771 #define pwr_dFormatInt64 "%lld"
772 #define pwr_dFormatHexInt64 "%llx"
773 #define pwr_dFormatOctInt64 "%llo"
777 #if defined __cplusplus
char pwr_tText[]
Text type.
unsigned int pwr_tUInt32
32-bit unsigned integer type.
char pwr_tAName[399+1]
Full Aref Name type.
double pwr_tFloat64
64-bit float.
char pwr_tChar
Character type.
pwr_tNid pwr_tNodeId
Node identity type.
unsigned int pwr_tVid
Volume identity type.
char pwr_tXRef[31+1]
XRef type.
char pwr_tString[]
String type.
pwr_tOix pwr_tObjectIx
Object index type.
char pwr_tPgmName[31+1]
PgmName type.
pwr_tTypeId pwr_tCastId
CastId type.
unsigned int pwr_tBitMask
Bitmask type.
unsigned int pwr_tOix
Object index type.
char pwr_tProString40[40]
40 byte protected string type.
char pwr_tString64[64]
64 byte string type.
pwr_tTid pwr_tTypeId
Type identity type.
char pwr_tText8192[8192]
8192 byte text type.
unsigned int pwr_tBoolean
Boolean type.
pwr_tMask pwr_tOpSysMask
Operating system Mask.
char pwr_tPathName[63+1]
PathName type.
pwr_tCid pwr_tClassId
Class identity type.
pwr_tNid pwr_tNodeIndex
Node index type.
unsigned int pwr_tSid
Server identity type.
char pwr_tInt8
8-bit integer type.
pwr_tRid pwr_tSubid
Subscription identity type.
char pwr_tGraphName[15+1]
GraphName type.
char pwr_tFileName[255+1]
FileName type.
unsigned int pwr_tCid
Class identity type.
pwr_tEnum pwr_tEmergBreakSelectEnum
Node attribute enum.
char pwr_tURL[160]
URL type.
char pwr_tAttrName[31+1]
AttrName type.
pwr_tOid pwr_tObjid
Object identity type.
char pwr_tString104[104]
104 byte string type.
char pwr_tString40[40]
40 byte string type.
pwr_tMask pwr_tRefListFilterMask
Reference list filter Mask.
char pwr_tStructName[31+1]
StructName type.
short pwr_tInt16
16-bit integer type.
char pwr_tText256[256]
256 byte text type.
char pwr_tFullName[199+1]
FullName type.
char pwr_tCmd[399+1]
Command string type.
char pwr_tText1024[1024]
1024 byte text type.
char pwr_tString80[80]
80 byte string type.
pwr_tEnum pwr_tOpSysEnum
Operating system enum.
char pwr_tString1[1]
1 byte string type.
char pwr_tString8[8]
8 byte string type.
pwr_eBix
Body index enumeration.
int pwr_tInt32
32-bit integer type.
unsigned int pwr_tBit
Bit type.
unsigned char pwr_tUInt8
8-bit unsigned integer type.
int pwr_tStatus
Status type.
pwr_tInt32 pwr_tEnum
Enumeration type.
char pwr_tString132[132]
132 byte string type.
unsigned int pwr_tAix
Attribute index type.
void * pwr_tAddress
Generic pointer type.
pwr_tVid pwr_tVolumeId
Volume identity type.
pwr_tRid pwr_tDlid
Direct link identity type.
char pwr_tOName[199+1]
Full Object Name type.
char pwr_tString16[16]
16 byte string type.
char pwr_tString32[32]
32 byte string type.
pwr_tRid pwr_tRefId
Reference identity type.
unsigned int pwr_tTid
Type identity type.
pwr_tEnum pwr_tPopEditorEnum
Pop editor enum.
unsigned int pwr_tDisableAttr
DisableAttr type.
pwr_tVolumeId pwr_tNid
Node identity type.
unsigned short pwr_tUInt16
16-bit unsigned integer type.
char pwr_tObjName[31+1]
Object name type.
int pwr_tNetStatus
Network status type.
pwr_tUInt32 pwr_tMask
Mask type.
float pwr_tFloat32
32-bit float.
char pwr_tString256[256]
256 byte string type.
64-bit unsigned integer type.
pwr_tUInt32 Size
Attribute size.
pwr_tCid Body
Typeid of attribute, body or class.
pwr_tOid Objid
Object identity.
pwr_mAttrRef Flags
Attribute flags.
pwr_tUInt32 Offset
Offset in body.
Attribute reference flags type.