Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
273af6ca
Commit
273af6ca
authored
Jan 02, 2004
by
claes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modifications for Programmer's Referens Manual
parent
a6976a2b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
460 additions
and
260 deletions
+460
-260
src/exp/inc/src/pwr.h
src/exp/inc/src/pwr.h
+105
-77
src/lib/co/src/co_cdh.c
src/lib/co/src/co_cdh.c
+170
-54
src/lib/co/src/co_cdh.h
src/lib/co/src/co_cdh.h
+160
-107
src/lib/co/src/co_time.c
src/lib/co/src/co_time.c
+0
-5
src/lib/rt/src/rt_errh.c
src/lib/rt/src/rt_errh.c
+6
-4
src/lib/rt/src/rt_mh_appl.c
src/lib/rt/src/rt_mh_appl.c
+1
-0
src/lib/rt/src/rt_qcom.h
src/lib/rt/src/rt_qcom.h
+18
-13
No files found.
src/exp/inc/src/pwr.h
View file @
273af6ca
...
...
@@ -24,6 +24,13 @@
# include <time.h>
#endif
/*! \file pwr.h
\brief Basic type definitions.
This include file contains the Proview basic type definitions.
*/
/*! \addtogroup Pwr */
/*@{*/
#ifdef VAXC
# define pwr_dExport globaldef
# define pwr_dImport globalref
...
...
@@ -76,43 +83,46 @@
#define pwr_cSizPathName 63
#define pwr_cSizFullName 79
typedef
void
*
pwr_tAddress
;
typedef
unsigned
int
pwr_tBit
;
typedef
unsigned
int
pwr_tBitMask
;
typedef
unsigned
int
pwr_tBoolean
;
typedef
float
pwr_tFloat32
;
typedef
double
pwr_tFloat64
;
typedef
void
*
pwr_tAddress
;
//!< Generic pointer type.
typedef
unsigned
int
pwr_tBit
;
//!< Bit type.
typedef
unsigned
int
pwr_tBitMask
;
//!< Bitmask type.
typedef
unsigned
int
pwr_tBoolean
;
//!< Boolean type.
typedef
float
pwr_tFloat32
;
//!< 32-bit float.
typedef
double
pwr_tFloat64
;
//!< 64-big float.
typedef
unsigned
int
pwr_tGeneration
;
typedef
char
pwr_tChar
;
typedef
char
pwr_tString
[];
typedef
char
pwr_tText
[];
typedef
char
pwr_tInt8
;
typedef
short
pwr_tInt16
;
typedef
int
pwr_tInt32
;
typedef
int
pwr_tStatus
;
typedef
char
pwr_tChar
;
//!< Character type.
typedef
char
pwr_tString
[];
//!< String type.
typedef
char
pwr_tText
[];
//!< Text type.
typedef
char
pwr_tInt8
;
//!< 8-bit integer type.
typedef
short
pwr_tInt16
;
//!< 16-bit integer type.
typedef
int
pwr_tInt32
;
//!< 32-bit integer type.
typedef
int
pwr_tStatus
;
//!< Status type.
//! 64-bit integer type.
typedef
struct
{
unsigned
int
low
;
int
high
;
}
pwr_tInt64
;
//! 64-bit unsigned integer type.
typedef
struct
{
unsigned
int
low
;
unsigned
int
high
;
}
pwr_tUInt64
;
typedef
unsigned
char
pwr_tUInt8
;
typedef
unsigned
short
pwr_tUInt16
;
typedef
unsigned
int
pwr_tUInt32
;
typedef
unsigned
int
pwr_tVid
;
typedef
pwr_tVid
pwr_tVolumeId
;
typedef
unsigned
int
pwr_tAix
;
typedef
unsigned
int
pwr_tOix
;
typedef
pwr_tOix
pwr_tObjectIx
;
typedef
unsigned
int
pwr_tMask
;
typedef
unsigned
int
pwr_tEnum
;
typedef
unsigned
char
pwr_tUInt8
;
//!< 8-bit unsigned integer type.
typedef
unsigned
short
pwr_tUInt16
;
//!< 16-bit unsigned integer type.
typedef
unsigned
int
pwr_tUInt32
;
//!< 32-bit unsigned integer type.
typedef
unsigned
int
pwr_tVid
;
//!< Volume identity type.
typedef
pwr_tVid
pwr_tVolumeId
;
//!< Volume identity type.
typedef
unsigned
int
pwr_tAix
;
//!< Attribute index type.
typedef
unsigned
int
pwr_tOix
;
//!< Object index type.
typedef
pwr_tOix
pwr_tObjectIx
;
//!< Object index type.
typedef
unsigned
int
pwr_tMask
;
//!< Mask type.
typedef
unsigned
int
pwr_tEnum
;
//!< Enumeration type.
//! Body index enumeration.
typedef
enum
{
pwr_eBix__
=
0
,
pwr_eBix_sys
=
1
,
...
...
@@ -122,37 +132,40 @@ typedef enum {
pwr_eBix_
}
pwr_eBix
;
//! Object identity type.
typedef
struct
{
pwr_tOix
oix
;
pwr_tVid
vid
;
}
pwr_tOid
;
typedef
pwr_tOid
pwr_tObjid
;
typedef
pwr_tOid
pwr_tObjid
;
//!< Object identity type.
typedef
pwr_tOid
pwr_tObjDId
;
typedef
unsigned
int
pwr_tCid
;
typedef
pwr_tCid
pwr_tClassId
;
typedef
unsigned
int
pwr_tTid
;
typedef
pwr_tTid
pwr_tTypeId
;
typedef
unsigned
int
pwr_tCid
;
//!< Class identity type.
typedef
pwr_tCid
pwr_tClassId
;
//!< Class identity type.
typedef
unsigned
int
pwr_tTid
;
//!< Type identity type.
typedef
pwr_tTid
pwr_tTypeId
;
//!< Type identity type.
typedef
unsigned
int
pwr_tBid
;
typedef
unsigned
int
pwr_tVersion
;
typedef
unsigned
int
pwr_tPwrVersion
;
typedef
unsigned
int
pwr_tProjVersion
;
typedef
unsigned
int
pwr_tUserId
;
typedef
unsigned
int
pwr_tDbId
;
typedef
pwr_tVolumeId
pwr_tNid
;
typedef
pwr_tNid
pwr_tNodeId
;
typedef
pwr_tNid
pwr_tNodeIndex
;
typedef
pwr_tVolumeId
pwr_tNid
;
//!< Node identity type.
typedef
pwr_tNid
pwr_tNodeId
;
//!< Node identity type.
typedef
pwr_tNid
pwr_tNodeIndex
;
//!< Node index type.
//! Reference identity type.
typedef
struct
{
pwr_tUInt32
rix
;
pwr_tNid
nid
;
}
pwr_tRid
;
typedef
pwr_tRid
pwr_tRefId
;
typedef
pwr_tRid
pwr_tDlid
;
typedef
pwr_tRid
pwr_tSubid
;
typedef
pwr_tRid
pwr_tRefId
;
//!< Reference identity type.
typedef
pwr_tRid
pwr_tDlid
;
//!< Direct link identity type.
typedef
pwr_tRid
pwr_tSubid
;
//!< Subscription identity type.
//! Vax time.
typedef
struct
{
int
low
;
int
high
;
...
...
@@ -166,17 +179,20 @@ typedef struct {
}
timespec_t
;
#endif
typedef
struct
timespec
pwr_tTime
;
typedef
struct
timespec
pwr_tTime
;
//!< Abolute time type.
//! Delta time type.
typedef
struct
{
int
tv_sec
;
int
tv_nsec
;
int
tv_sec
;
//!< Seconds.
int
tv_nsec
;
//!< Nano seconds.
}
pwr_tDeltaTime
;
//! Proview version type
typedef
union
{
pwr_tPwrVersion
i
;
//! Word representation
struct
{
#if (pwr_dHost_byteOrder == pwr_dLittleEndian)
...
...
@@ -196,27 +212,30 @@ typedef union {
}
s
;
}
pwr_uPwrVersion
;
typedef
char
pwr_tObjName
[
pwr_cSizObjName
+
1
];
typedef
char
pwr_tPgmName
[
pwr_cSizPgmName
+
1
];
typedef
char
pwr_tXRef
[
pwr_cSizXRef
+
1
];
typedef
char
pwr_tGraphName
[
pwr_cSizGraphName
+
1
];
typedef
char
pwr_tStructName
[
pwr_cSizStructName
+
1
];
typedef
char
pwr_tAttrName
[
pwr_cSizAttrName
+
1
];
typedef
char
pwr_tPathName
[
pwr_cSizPathName
+
1
];
typedef
char
pwr_tFullName
[
pwr_cSizFullName
+
1
];
typedef
char
pwr_tString256
[
256
];
typedef
char
pwr_tString132
[
132
];
typedef
char
pwr_tString80
[
80
];
typedef
char
pwr_tString40
[
40
];
typedef
char
pwr_tString32
[
32
];
typedef
char
pwr_tString16
[
16
];
typedef
char
pwr_tString8
[
8
];
typedef
char
pwr_tString1
[
1
];
typedef
char
pwr_tText1024
[
1024
];
typedef
char
pwr_tURL
[
160
];
typedef
char
pwr_tObjName
[
pwr_cSizObjName
+
1
];
//!< Object name type.
typedef
char
pwr_tPgmName
[
pwr_cSizPgmName
+
1
];
//!< PgmName type.
typedef
char
pwr_tXRef
[
pwr_cSizXRef
+
1
];
//!< XRef type.
typedef
char
pwr_tGraphName
[
pwr_cSizGraphName
+
1
];
//!< GraphName type.
typedef
char
pwr_tStructName
[
pwr_cSizStructName
+
1
];
//!< StructName type.
typedef
char
pwr_tAttrName
[
pwr_cSizAttrName
+
1
];
//!< AttrName type.
typedef
char
pwr_tPathName
[
pwr_cSizPathName
+
1
];
//!< PathName type.
typedef
char
pwr_tFullName
[
pwr_cSizFullName
+
1
];
//!< FullName type.
typedef
char
pwr_tString256
[
256
];
//!< 256 byte string type.
typedef
char
pwr_tString132
[
132
];
//!< 132 byte string type.
typedef
char
pwr_tString80
[
80
];
//!< 80 byte string type.
typedef
char
pwr_tString40
[
40
];
//!< 40 byte string type.
typedef
char
pwr_tString32
[
32
];
//!< 32 byte string type.
typedef
char
pwr_tString16
[
16
];
//!< 16 byte string type.
typedef
char
pwr_tString8
[
8
];
//!< 8 byte string type.
typedef
char
pwr_tString1
[
1
];
//!< 1 byte string type.
typedef
char
pwr_tText1024
[
1024
];
//!< 1024 byte text type.
typedef
char
pwr_tURL
[
160
];
//!< URL type.
//! Attribute reference flags type.
typedef
union
{
pwr_tBitMask
m
;
//! Bitmask representation.
struct
{
#if (pwr_dHost_byteOrder == pwr_dLittleEndian)
...
...
@@ -237,50 +256,56 @@ typedef union {
}
pwr_mAttrRef
;
//! Attribute reference.
typedef
struct
{
pwr_tOid
Objid
;
pwr_tCid
Body
;
pwr_tUInt32
Offset
;
pwr_tUInt32
Size
;
pwr_mAttrRef
Flags
;
pwr_tOid
Objid
;
//!< Object identity.
pwr_tCid
Body
;
//!< Class identity of body.
pwr_tUInt32
Offset
;
//!< Offset in body.
pwr_tUInt32
Size
;
//!< Attribute size.
pwr_mAttrRef
Flags
;
//!< Attribute flags.
}
pwr_sAttrRef
;
//! Zero attribute reference constant.
#ifdef OS_ELN
static
const
pwr_sAttrRef
pwr_cNAttrRef
=
{
0
,
0
,
0
,
0
,
0
};
#else
static
const
pwr_sAttrRef
pwr_cNAttrRef
=
{{
0
,
0
},
0
,
0
,
0
,
{
0
}};
#endif
static
const
pwr_tOid
pwr_cNOid
=
{
0
,
0
};
static
const
pwr_tObjid
pwr_cNObjid
=
{
0
,
0
};
static
const
pwr_tDlid
pwr_cNRefId
=
{
0
,
0
};
#define pwr_cNSubid pwr_cNRefId
#define pwr_cNDlid pwr_cNRefId
static
const
pwr_tOix
pwr_cNOix
=
0
;
static
const
pwr_tObjectIx
pwr_cNObjectIx
=
0
;
static
const
pwr_tClassId
pwr_cNClassId
=
0
;
static
const
pwr_tTypeId
pwr_cNTypeId
=
0
;
static
const
pwr_tVolumeId
pwr_cNVolumeId
=
0
;
static
const
pwr_tNodeId
pwr_cNNodeId
=
0
;
static
const
pwr_tCid
pwr_cNCid
=
0
;
static
const
pwr_tTid
pwr_cNTid
=
0
;
static
const
pwr_tVid
pwr_cNVid
=
0
;
static
const
pwr_tNid
pwr_cNNid
=
0
;
static
const
pwr_tOid
pwr_cNOid
=
{
0
,
0
};
//!< Zero object identity constant.
static
const
pwr_tObjid
pwr_cNObjid
=
{
0
,
0
};
//!< Zero object identity constant.
static
const
pwr_tDlid
pwr_cNRefId
=
{
0
,
0
};
//!< Zero reference identity constant.
#define pwr_cNSubid pwr_cNRefId
//!< Zero subscription identity constant.
#define pwr_cNDlid pwr_cNRefId
//!< Zero direct link identity constant.
static
const
pwr_tOix
pwr_cNOix
=
0
;
//!< Zero object index constant.
static
const
pwr_tObjectIx
pwr_cNObjectIx
=
0
;
//!< Zero object index constant.
static
const
pwr_tClassId
pwr_cNClassId
=
0
;
//!< Zero class identity constant.
static
const
pwr_tTypeId
pwr_cNTypeId
=
0
;
//!< Zero type identity constant.
static
const
pwr_tVolumeId
pwr_cNVolumeId
=
0
;
//!< Zero volume identity constant.
static
const
pwr_tNodeId
pwr_cNNodeId
=
0
;
//!< Zero node identity constant.
static
const
pwr_tCid
pwr_cNCid
=
0
;
//!< Zero class identity constant.
static
const
pwr_tTid
pwr_cNTid
=
0
;
//!< Zero type identity constant.
static
const
pwr_tVid
pwr_cNVid
=
0
;
//!< Zero volume identity constant.
static
const
pwr_tNid
pwr_cNNid
=
0
;
//!< Zero node identity constant.
/* Gereral macro definitions */
#ifndef MIN
//! Return the smallest of two values
#define MIN(a,b) (((a)<(b))?(a):(b))
#endif
#ifndef MAX
//! Return the largest of two values
#define MAX(a,b) (((a)>(b))?(a):(b))
#endif
#ifndef ODD
//! Check if value is odd
#define ODD(a) (((int)(a) & 1) != 0)
#endif
#ifndef EVEN
//! Check if value is even
#define EVEN(a) (((int)(a) & 1) == 0)
#endif
...
...
@@ -433,5 +458,8 @@ static const pwr_tNid pwr_cNNid = 0;
#a,__FILE__,__LINE__),exit(EXIT_FAILURE)))
#endif
/*@}*/
#endif
src/lib/co/src/co_cdh.c
View file @
273af6ca
...
...
@@ -37,6 +37,13 @@
#include "co_cdh.h"
#include "co_time.h"
/*! \file co_cdh.c
\brief Class definition handler.
Functions for class definitions.
*/
/*! \addtogroup Cdh */
/*@{*/
#ifdef OS_ELN
struct
p1_ctx
{
int
p1
$
errno
;
/* UNIX-style error code */
...
...
@@ -46,14 +53,14 @@ struct p1_ctx {
};
#endif
/*
Compare two object identities;
return <0 if Object_1 < Object_2
return 0 if Object_1 == Object_2
return >0 if Object_1 > Object_2.
*/
//! Compare two object identities.
/*
!
- return <0 if Object_1 < Object_2.
- return 0 if Object_1 == Object_2.
- return >0 if Object_1 > Object_2.
*/
int
int
cdh_ObjidCompare
(
pwr_tObjid
Objid_1
,
pwr_tObjid
Objid_2
...
...
@@ -75,10 +82,11 @@ cdh_ObjidCompare (
}
/* Test if two object identities are equal.
return 1 if Object_1 == Object_2
return 0 if Object_1 != Object_2. */
//! Test if two object identities are equal.
/*!
- return 1 if Object_1 == Object_2
- return 0 if Object_1 != Object_2.
*/
int
cdh_ObjidIsEqual
(
...
...
@@ -90,10 +98,11 @@ cdh_ObjidIsEqual (
return
(
Objid_1
.
vid
==
Objid_2
.
vid
)
&&
(
Objid_1
.
oix
==
Objid_2
.
oix
);
}
/* Test if two object identities are different.
return 1 if Object_1 != Object_2
return 0 if Object_1 == Object_2. */
//! Test if two object identities are different.
/*!
- return 1 if Object_1 != Object_2
- return 0 if Object_1 == Object_2.
*/
int
cdh_ObjidIsNotEqual
(
...
...
@@ -106,10 +115,11 @@ cdh_ObjidIsNotEqual (
}
/* Test if object identity is null.
return 1 if Object_1 == pwr_cNObjid
return 0 if Object_1 != pwr_cNObjid. */
//! Test if object identity is null.
/*!
- return 1 if Object_1 == pwr_cNObjid
- return 0 if Object_1 != pwr_cNObjid.
*/
int
cdh_ObjidIsNull
(
...
...
@@ -120,10 +130,11 @@ cdh_ObjidIsNull (
}
/* Test if object identity is not null.
return 1 if Object_1 != pwr_cNObjid
return 0 if Object_1 == pwr_cNObjid. */
//! Test if object identity is not null.
/*!
- return 1 if Object_1 != pwr_cNObjid
- return 0 if Object_1 == pwr_cNObjid.
*/
int
cdh_ObjidIsNotNull
(
...
...
@@ -278,7 +289,11 @@ cdh_DlidIsNotNull (
}
/* Convert Objid to ClassId. */
//! Convert Objid to ClassId.
/*!
\param Objid Objid of $ClassDef object for class.
\return ClassId.
*/
pwr_tClassId
cdh_ClassObjidToId
(
...
...
@@ -300,7 +315,11 @@ cdh_ClassObjidToId (
}
/* Convert ClassId to Objid. */
//! Convert ClassId to Objid.
/*!
\param Class ClassId
\return Objid for $ClassDef object of class.
*/
pwr_tObjid
cdh_ClassIdToObjid
(
...
...
@@ -325,7 +344,11 @@ cdh_ClassIdToObjid (
return
oid
.
pwr
;
}
/* Convert Objid to TypeId. */
//! Convert Objid to TypeId.
/*!
\param Objid Objid for $TypeDef object of type.
\return TypeId.
*/
pwr_tTypeId
cdh_TypeObjidToId
(
...
...
@@ -364,7 +387,7 @@ cdh_TypeObjidToId (
}
/
* Convert TypeId to index. */
/
/! Convert TypeId to index.
int
cdh_TypeIdToIndex
(
...
...
@@ -378,7 +401,7 @@ cdh_TypeIdToIndex (
return
tid
.
t
.
tix
;
}
/
* Convert TypeId to Objid. */
/
/! Convert TypeId to Objid.
pwr_tObjid
cdh_TypeIdToObjid
(
...
...
@@ -415,9 +438,7 @@ cdh_TypeIdToObjid (
return
oid
.
pwr
;
}
/* Converts an attribute given in internal binary format
to a text string.
*/
//! Converts an attribute given in internal binary format to a text string.
pwr_tStatus
cdh_AttrValueToString
(
...
...
@@ -498,8 +519,7 @@ cdh_AttrValueToString (
return
sts
;
}
/* Converts an attribute value given as a text string,
to internal binary format. */
//! Converts an attribute value given as a text string, to internal binary format.
pwr_tStatus
cdh_StringToAttrValue
(
...
...
@@ -748,7 +768,17 @@ cdh_StringToAttrValue (
return
sts
;
}
//! Convert ClassId string to id.
/*!
Convert a string of format "_C1.2:34" to id ('_C' is optional),
where 1.2 is the volume identity and 34 the class index.
\param s String.
\param cid ClassId.
\return Status of the operation. CDH__SUCCESS or CDH__INVCID.
*/
pwr_tStatus
cdh_StringToClassId
(
const
char
*
s
,
...
...
@@ -782,6 +812,16 @@ cdh_StringToClassId (
return
CDH__SUCCESS
;
}
//! Convert Objid string to id.
/*!
Convert a string of format "_O1.2.3.4:34" ('_O' is optional), where
1.2.3.4 is the volume id and 34 is the object index.
Strings beginning with "_A" are also accepted.
\param s String.
\param oid Objid.
\return Status of the operation. CDH__SUCCESS or CDH__INVCID.
*/
pwr_tStatus
cdh_StringToObjid
(
const
char
*
s
,
...
...
@@ -824,6 +864,14 @@ cdh_StringToObjid (
return
CDH__SUCCESS
;
}
//! Convert TypeId string to id.
/*!
Convert a string of format "_T1.2:bit.tyg.tix" to id ("_T" is optional).
\param s String.
\param tid TypeId.
\return Status of the operation. CDH__SUCCESS or CDH__INVTID.
*/
pwr_tStatus
cdh_StringToTypeId
(
const
char
*
s
,
...
...
@@ -876,6 +924,15 @@ cdh_StringToTypeId (
return
CDH__SUCCESS
;
}
//! Convert VolumeId string to id.
/*!
Convert a string of format "_V1.2.3.4" to id ("_V" is optional).
Strings beginning with "_O" and "_A" are also accepted.
\param s String.
\param vid Volume id.
\return Status of the operation. CDH__SUCCESS or CDH__INVTID.
*/
pwr_tStatus
cdh_StringToVolumeId
(
const
char
*
s
,
...
...
@@ -914,6 +971,15 @@ cdh_StringToVolumeId (
return
CDH__SUCCESS
;
}
//! Converts ObjectIx string to index.
/*!
Converts string of format "_Xoix" to index ("_X" is optional)
where oix is object index.
\param s String.
\param oix ObjectIx.
\return Status of the operation. CDH__SUCCESS or CDH__INVOIX.
*/
pwr_tStatus
cdh_StringToObjectIx
(
const
char
*
s
,
...
...
@@ -1018,7 +1084,8 @@ cdh_StringToDlid (
return
CDH__SUCCESS
;
}
/* Converts a class identifier, 'cid' to a string.
//! Converts a class identifier, 'cid' to a string.
/*!
The output string will be in the format:
0.1:34 where 0.1 is the volume identifier and
...
...
@@ -1028,7 +1095,8 @@ cdh_StringToDlid (
to 's', otherwise the resultant string will be returned.
If 'prefix' is not zero, a '_C' prefix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_ClassIdToString
(
...
...
@@ -1060,7 +1128,8 @@ cdh_ClassIdToString (
}
/* Converts a type identifier, 'tid' to a string.
//! Converts a type identifier, 'tid' to a string.
/*!
The output string will be in the format:
0.1:0.34.1 where 0.1 is the volume identifier and
...
...
@@ -1077,7 +1146,8 @@ cdh_ClassIdToString (
to 's', otherwise the resultant string will be returned.
If 'prefix' is not zero, a '_T' prefix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_TypeIdToString
(
...
...
@@ -1110,7 +1180,8 @@ cdh_TypeIdToString (
}
/* Converts a object index, 'oix' to a string.
//! Converts a object index, 'oix' to a string.
/*!
The output string will be in the format:
1234
...
...
@@ -1119,7 +1190,8 @@ cdh_TypeIdToString (
to 's', otherwise the resultant string will be returned.
If 'prefix' is not zero, a '_X' prefix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_ObjectIxToString
(
...
...
@@ -1138,7 +1210,8 @@ cdh_ObjectIxToString (
return
ls
;
}
/* Converts an attribute reference , 'aref' to a string.
//! Converts an attribute reference , 'aref' to a string.
/*!
The output string will be in the format:
0.1.2.3:1234(_T0.34.1)[34.60]
...
...
@@ -1147,7 +1220,8 @@ cdh_ObjectIxToString (
to 's', otherwise the resultant string will be returned.
If 'prefix' is not zero, a '_A' prefix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_ArefToString
(
...
...
@@ -1179,7 +1253,8 @@ cdh_ArefToString (
return
ls
;
}
/* Converts a volume identifier, 'vid' to a string.
//! Converts a volume identifier, 'vid' to a string.
/*!
The output string will be in the format:
0.1.2.3
...
...
@@ -1191,7 +1266,8 @@ cdh_ArefToString (
the resultant string.
If 'suffix' is not zero, a ':' suffix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_NodeIdToString
(
...
...
@@ -1216,7 +1292,8 @@ cdh_NodeIdToString (
}
/* Converts a object identifier, 'oid' to a string.
//! Converts a object identifier, 'oid' to a string.
/*!
The output string will be in the format:
0.1.2.3:1234
...
...
@@ -1225,7 +1302,8 @@ cdh_NodeIdToString (
to 's', otherwise the resultant string will be returned.
If 'prefix' is not zero, a '_O' prefix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_ObjidToString
(
...
...
@@ -1249,7 +1327,8 @@ cdh_ObjidToString (
}
/* Converts a volume identifier, 'vid' to a string.
//! Converts a volume identifier, 'vid' to a string.
/*!
The output string will be in the format:
0.1.2.3
...
...
@@ -1261,7 +1340,8 @@ cdh_ObjidToString (
the resultant string.
If 'suffix' is not zero, a ':' suffix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_VolumeIdToString
(
...
...
@@ -1286,7 +1366,8 @@ cdh_VolumeIdToString (
}
/* Converts a subscription identifier, 'sid' to a string.
//! Converts a subscription identifier, 'sid' to a string.
/*!
The output string will be in the format:
0.1.2.3:1234
...
...
@@ -1295,7 +1376,8 @@ cdh_VolumeIdToString (
to 's', otherwise the resultant string will be returned.
If 'prefix' is not zero, a '_S' prefix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_SubidToString
(
...
...
@@ -1319,7 +1401,8 @@ cdh_SubidToString (
}
/* Converts a direct link identifier, 'did' to a string.
//! Converts a direct link identifier, 'did' to a string.
/*!
The output string will be in the format:
0.1.2.3:1234
...
...
@@ -1328,7 +1411,8 @@ cdh_SubidToString (
to 's', otherwise the resultant string will be returned.
If 'prefix' is not zero, a '_D' prefix will be included in
the resultant string. */
the resultant string.
*/
char
*
cdh_DlidToString
(
...
...
@@ -2185,6 +2269,12 @@ cdh_PackName (
return
pack
.
key
;
}
//! Convert string to lower case.
/*!
Returns a pointer to a static string.
NOTE! The function should only be called once in one expression.
*/
char
*
cdh_Low
(
const
char
*
s
...
...
@@ -2195,6 +2285,14 @@ cdh_Low (
return
cdh_ToLower
(
buf
,
s
);
}
//! Convert string to lower case.
/*!
If s is NULL, t is used also as input string.
\param t Output string.
\param s Input string.
\return Returns t.
*/
char
*
cdh_ToLower
(
char
*
t
,
...
...
@@ -2226,6 +2324,14 @@ cdh_ToLower (
return
rs
;
}
//! Convert string to upper case.
/*!
If s is NULL, t is used also as input string.
\param t Output string.
\param s Input string.
\return Returns t.
*/
char
*
cdh_ToUpper
(
char
*
t
,
...
...
@@ -2258,8 +2364,8 @@ cdh_ToUpper (
}
/
*
Compare two strings not regarding their casing.
/
/!
Compare two strings not regarding their casing.
/*!
This routine works only on alphabetic characters.
It works on the standard ascii a-z and on the
DEC multinational extensions.
...
...
@@ -2268,7 +2374,8 @@ cdh_ToUpper (
when you change the case of a character.
The function returns the uppercase offset between
the two first differing characters. */
the two first differing characters.
*/
int
cdh_NoCaseStrcmp
(
...
...
@@ -2308,3 +2415,12 @@ char *cdh_OpSysToStr( pwr_mOpSys opsys)
}
return
str
;
}
/*@}*/
src/lib/co/src/co_cdh.h
View file @
273af6ca
...
...
@@ -24,6 +24,19 @@
extern
"C"
{
#endif
/*! \file co_cdh.h
\brief Class definition handler.
This include file contains definitions and function prototypes
needed to use CDH.
*/
/*! \defgroup Cdh_DS Data Structures
\ingroup Cdh
*/
/*! \addtogroup Cdh_DS */
/*@{*/
#define cdh_cMaxVidGroup 255
#define cdh_cMaxCix 4095
#define cdh_cMaxBix 7
...
...
@@ -39,18 +52,28 @@ typedef enum {
}
cdh_eVId3
;
//! Get volme identity for class identity.
#define cdh_CidToVid(cid) ((cid) >> 16)
//! Get volume identity for type identity.
#define cdh_TidToVid(tid) ((tid) >> 16)
//! Get class identity for class index
#define cdh_cixToCid( Vid, Cix) (0 + (Vid << 16) + (Cix << 3))
//! Get type identity for type index.
#define cdh_tixToTid( Vid, Tyg, Tix) (0 + (Vid << 16) + (1 << 15) + (Tyg << 11) + Tix)
//! Get object index for class index.
#define cdh_cixToOix( Cix, Bix, Aix) (0 + (1 << 31) + (Cix << 18) + (Bix << 15) + Aix)
//! Get object index for type index.
#define cdh_tixToOix( Tyg, Tix) (0 + (1 << 31) + (1 << 30) + (Tyg << 26) + (Tix << 15))
//! Get object index for body index.
#define cdh_oixToBix( Oix) ((pwr_eBix)((Oix >> 15) & 7))
//! Get class index for object index.
#define cdh_oixToCix( Oix) ((Oix >> 18) & 0xfff)
//! Get attribute index for object index.
#define cdh_oixToAix( Oix) (Oix & 0xfff)
//! Internal representatin of object identity.
typedef
struct
{
unsigned
int
oix
:
32
;
unsigned
int
oix
:
32
;
//! Object index.
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -68,8 +91,9 @@ typedef struct {
#endif
}
cdh_mOid
;
typedef
cdh_mOid
cdh_mObjid
;
typedef
cdh_mOid
cdh_mObjid
;
//!< Internal representation of object identity.
//! Internal representation of reference identity.
typedef
struct
{
unsigned
int
rix
:
32
;
...
...
@@ -89,8 +113,9 @@ typedef struct {
#endif
}
cdh_mRid
;
typedef
cdh_mRid
cdh_mRefId
;
typedef
cdh_mRid
cdh_mRefId
;
//!< Internal representation of reference identity.
//! Internal representations of volume identity.
typedef
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -108,8 +133,9 @@ typedef struct {
#endif
}
cdh_mVid
;
typedef
cdh_mVid
cdh_mVolumeId
;
typedef
cdh_mVid
cdh_mVolumeId
;
//!< Internal representation of volume identity.
//! Internal representation of node identity.
typedef
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -127,8 +153,9 @@ typedef struct {
#endif
}
cdh_mNid
;
typedef
cdh_mNid
cdh_mNodeId
;
typedef
cdh_mNid
cdh_mNodeId
;
//!< Internal representation of node identity.
//! Internal representation of $ClassDef object identity.
typedef
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -159,6 +186,7 @@ typedef struct {
#endif
}
cdh_mClassObjid
;
//! Internal represention of class identity.
typedef
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -180,8 +208,9 @@ typedef struct {
#endif
}
cdh_mCid
;
typedef
cdh_mCid
cdh_mClassId
;
typedef
cdh_mCid
cdh_mClassId
;
//!< Internal representation of class identity.
//! Internal representation of $TypeDef object identity.
typedef
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -212,6 +241,7 @@ typedef struct {
#endif
}
cdh_mTypeObjid
;
//! Internal representation of type identity.
typedef
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -233,54 +263,61 @@ typedef struct {
#endif
}
cdh_mTid
;
typedef
cdh_mTid
cdh_mTypeId
;
typedef
cdh_mTid
cdh_mTypeId
;
//!< Internal representation of type identity.
//! Type for representions of object identity.
typedef
union
{
pwr_tOid
pwr
;
cdh_mObjid
o
;
cdh_mClassObjid
c
;
cdh_mTypeObjid
t
;
pwr_tOid
pwr
;
//!< Extern representation.
cdh_mObjid
o
;
//!< Common object representation.
cdh_mClassObjid
c
;
//!< ClassDef object representation.
cdh_mTypeObjid
t
;
//!< TypeDef object representation.
}
cdh_uOid
;
typedef
cdh_uOid
cdh_uObjid
;
typedef
cdh_uOid
cdh_uObjid
;
//!< Type for representations of object identity.
//! Type for representations of reference identity.
typedef
union
{
pwr_tRid
pwr
;
cdh_mRid
r
;
pwr_tRid
pwr
;
//!< Extern representation.
cdh_mRid
r
;
//!< Intern representation
}
cdh_uRid
;
typedef
cdh_uRid
cdh_uRefId
;
typedef
cdh_uRid
cdh_uRefId
;
//!< Type for representation of reference identity.
//! Type for representation of type identity.
typedef
union
{
pwr_tCid
pwr
;
cdh_mCid
c
;
cdh_mTid
t
;
pwr_tCid
pwr
;
//!< Extern representation.
cdh_mCid
c
;
//!< Class identity representation.
cdh_mTid
t
;
//!< Type identity representation.
}
cdh_uTid
;
typedef
cdh_uTid
cdh_uTypeId
;
typedef
cdh_uTid
cdh_uTypeId
;
//!< Type for representation of type identity.
//! Type for representation of volume identity.
typedef
union
{
pwr_tVid
pwr
;
cdh_mVid
v
;
pwr_tVid
pwr
;
//!< Extern representation.
cdh_mVid
v
;
//!< Intern representation.
}
cdh_uVid
;
typedef
cdh_uVid
cdh_uVolumeId
;
typedef
cdh_uVid
cdh_uVolumeId
;
//!< Type for represenation of volume identity.
//! Type for representation of node identity.
typedef
union
{
pwr_tNid
pwr
;
cdh_mNid
n
;
pwr_tNid
pwr
;
//!< Extern representation.
cdh_mNid
n
;
//!< Intern representation.
}
cdh_uNid
;
typedef
cdh_uNid
cdh_uNodeId
;
typedef
cdh_uNid
cdh_uNodeId
;
//!< Type for representation of node idenity.
//! Enumeration for identities.
typedef
enum
{
cdh_eId__
=
0
,
cdh_eId_objectIx
,
cdh_eId_objid
,
cdh_eId_classId
,
cdh_eId_volumeId
,
cdh_eId_typeId
,
cdh_eId_subid
,
cdh_eId_dlid
,
cdh_eId_aref
,
cdh_eId_objectIx
,
//!< Object index.
cdh_eId_objid
,
//!< Object identity.
cdh_eId_classId
,
//!< Class identity.
cdh_eId_volumeId
,
//!< Volume identity.
cdh_eId_typeId
,
//!< Type identity.
cdh_eId_subid
,
//!< Subscription identity.
cdh_eId_dlid
,
//!< Direct link identity.
cdh_eId_aref
,
//!< Attribute reference.
cdh_eId_
}
cdh_eId
;
//! Union for identities.
typedef
union
{
pwr_tOix
oix
;
pwr_tOid
oid
;
...
...
@@ -292,8 +329,10 @@ typedef union {
pwr_sAttrRef
aref
;
}
cdh_uId
;
//! Pack name
typedef
union
{
pwr_tUInt32
key
;
//! Name structure
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -313,18 +352,22 @@ typedef union {
}
c
;
}
cdh_uPackName
;
//! Object name struct
typedef
struct
{
pwr_tObjName
orig
;
pwr_tObjName
norm
;
cdh_uPackName
pack
;
}
cdh_sObjName
;
//! Family struct.
typedef
struct
{
cdh_sObjName
name
;
pwr_tOid
poid
;
}
cdh_sFamily
;
//! Parse name mask
typedef
union
{
//! Bitmask representation.
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -347,93 +390,94 @@ typedef union {
#define cdh_mParseName_ (~cdh_mParseName__)
}
cdh_mParseName
;
/
* Describe the format of a namestring
.
/
/! Name string format description
.
/*!
Let us assume we have an object of class Ai.
The object has an attribute called FilterAttribute.
Object name: Eobj
Object id : 1234567890
Class name : pwrb:Class-Ai
Class id : 0.2:34
Volume name: Avol
Volume id : 0.123.34.63
Parents : Bobj, Cobj, Dobj
Attribute : FilterAttribute
Index : 2
Offset : 60
Size : 4
Body name : pwrb:Class-Ai-RtBody
Body id : 0.2:0.34.1
-
Object name: Eobj
-
Object id : 1234567890
-
Class name : pwrb:Class-Ai
-
Class id : 0.2:34
-
Volume name: Avol
-
Volume id : 0.123.34.63
-
Parents : Bobj, Cobj, Dobj
-
Attribute : FilterAttribute
-
Index : 2
-
Offset : 60
-
Size : 4
-
Body name : pwrb:Class-Ai-RtBody
-
Body id : 0.2:0.34.1
The name of this object can be written in different ways.
The type cdh_mName is used to define the way an object is named.
V P O B B A I E S I Form Fallback String
o a b o o t n s e d
l t j d d t d c p T
u h e y y r e a a y
m c I N i x p r p
e t d a b e a e
m u G t
e t M o
e S r
1 * * * * * * * 0 1 Id * _V0.123.34.63
1 * * * * * * * 1 1 Id * _V0.123.34.63:
1 * * * * * * * 0 0 Id * 0.123.34.63
1 * * * * * * * 1 0 Id * 0.123.34.63:
0 * 1 * * * * * * 1 Id * _O0.123.34.63:1234567890
0 * 1 * * * * * * 0 Id * 0.123.34.63:1234567890
0 * 0 1 * 1 0 * * * Id * _A0.123.34.63:1234567890(_T0.2:0.34.1)
0 * 0 1 * 1 1 * * * Id * _A0.123.34.63:1234567890(_T0.2:0.34.1)[60.4]
1 * * * * * * * * * Std Export _V0.123.34.63:
0 0 0 * * 1 * * * * Std Export _O0.123.34.63:1234567890
0 0 0 0 1 1 * * * * Std Export _A0.123.34.63:1234567890(pwrb:Class-Ai-RtBody)FilterAttribute[2]
1 1 1 0 0 1 1 0 * * Std Strict Avol:Bobj-Cobj-Dobj-Eobj.FilterAttribute[2]
0 1 1 0 0 1 1 0 * * Std Strict Bobj-Cobj-Dobj-Eobj.FilterAttribute[2]
0 0 1 0 0 1 1 0 * * Std Strict Eobj.FilterAttribute[2]
0 0 0 0 0 1 1 0 0 * Std Strict FilterAttribute[2]
0 0 0 0 0 1 1 0 1 * Std Strict .FilterAttribute[2]
0 0 0 0 0 1 0 0 0 * Std Strict FilterAttribute
0 0 0 0 0 1 0 0 1 * Std Strict .FilterAttribute
1 1 1 0 0 1 0 0 * * Std Strict Avol:Bobj-Cobj-Dobj-Eobj.FilterAttribute
1 1 1 0 0 0 0 0 0 * Std Strict Avol:Bobj-Cobj-Dobj-Eobj
1 1 1 0 0 0 0 0 1 * Std Strict Avol:Bobj-Cobj-Dobj-Eobj-
1 1 0 0 0 0 0 0 0 * Std Strict Avol:Bobj-Cobj-Dobj
1 1 0 0 0 0 0 0 1 * Std Strict Avol:Bobj-Cobj-Dobj-
1 0 0 0 0 0 0 0 0 * Std Strict Avol
1 0 0 0 0 0 0 0 1 * Std Strict Avol:
-
V P O B B A I E S I Form Fallback String
-
o a b o o t n s e d
-
l t j d d t d c p T
-
u h e y y r e a a y
-
m c I N i x p r p
-
e t d a b e a e
-
m u G t
-
e t M o
-
e S r
-
1 * * * * * * * 0 1 Id * _V0.123.34.63
-
1 * * * * * * * 1 1 Id * _V0.123.34.63:
-
1 * * * * * * * 0 0 Id * 0.123.34.63
-
1 * * * * * * * 1 0 Id * 0.123.34.63:
-
0 * 1 * * * * * * 1 Id * _O0.123.34.63:1234567890
-
0 * 1 * * * * * * 0 Id * 0.123.34.63:1234567890
-
0 * 0 1 * 1 0 * * * Id * _A0.123.34.63:1234567890(_T0.2:0.34.1)
-
0 * 0 1 * 1 1 * * * Id * _A0.123.34.63:1234567890(_T0.2:0.34.1)[60.4]
-
1 * * * * * * * * * Std Export _V0.123.34.63:
-
0 0 0 * * 1 * * * * Std Export _O0.123.34.63:1234567890
-
0 0 0 0 1 1 * * * * Std Export _A0.123.34.63:1234567890(pwrb:Class-Ai-RtBody)FilterAttribute[2]
-
1 1 1 0 0 1 1 0 * * Std Strict Avol:Bobj-Cobj-Dobj-Eobj.FilterAttribute[2]
-
0 1 1 0 0 1 1 0 * * Std Strict Bobj-Cobj-Dobj-Eobj.FilterAttribute[2]
-
0 0 1 0 0 1 1 0 * * Std Strict Eobj.FilterAttribute[2]
-
0 0 0 0 0 1 1 0 0 * Std Strict FilterAttribute[2]
-
0 0 0 0 0 1 1 0 1 * Std Strict .FilterAttribute[2]
-
0 0 0 0 0 1 0 0 0 * Std Strict FilterAttribute
-
0 0 0 0 0 1 0 0 1 * Std Strict .FilterAttribute
-
1 1 1 0 0 1 0 0 * * Std Strict Avol:Bobj-Cobj-Dobj-Eobj.FilterAttribute
-
1 1 1 0 0 0 0 0 0 * Std Strict Avol:Bobj-Cobj-Dobj-Eobj
-
1 1 1 0 0 0 0 0 1 * Std Strict Avol:Bobj-Cobj-Dobj-Eobj-
-
1 1 0 0 0 0 0 0 0 * Std Strict Avol:Bobj-Cobj-Dobj
-
1 1 0 0 0 0 0 0 1 * Std Strict Avol:Bobj-Cobj-Dobj-
-
1 0 0 0 0 0 0 0 0 * Std Strict Avol
-
1 0 0 0 0 0 0 0 1 * Std Strict Avol:
1 1 1 0 0 1 1 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj\-Eobj\.FilterAttribute[2]
0 1 1 0 0 1 1 1 0 * Std Strict Bobj\-Cobj\-Dobj\-Eobj\.FilterAttribute[2]
0 0 1 0 0 1 1 1 0 * Std Strict Eobj\.FilterAttribute[2]
0 0 0 0 0 1 1 1 0 * Std Strict FilterAttribute[2]
1 1 1 0 0 1 0 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj\-Eobj\.FilterAttribute
1 1 1 0 0 0 0 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj\-Eobj
1 1 0 0 0 0 0 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj
1 0 0 0 0 0 0 1 0 * Std Strict Avol
-
1 1 1 0 0 1 1 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj\-Eobj\.FilterAttribute[2]
-
0 1 1 0 0 1 1 1 0 * Std Strict Bobj\-Cobj\-Dobj\-Eobj\.FilterAttribute[2]
-
0 0 1 0 0 1 1 1 0 * Std Strict Eobj\.FilterAttribute[2]
-
0 0 0 0 0 1 1 1 0 * Std Strict FilterAttribute[2]
-
1 1 1 0 0 1 0 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj\-Eobj\.FilterAttribute
-
1 1 1 0 0 0 0 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj\-Eobj
-
1 1 0 0 0 0 0 1 0 * Std Strict Avol\:Bobj\-Cobj\-Dobj
-
1 0 0 0 0 0 0 1 0 * Std Strict Avol
1 1 1 0 0 1 1 0 * * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj.FilterAttribute[2]
0 1 1 0 0 1 1 0 * * Root Strict /Bobj/Cobj/Dobj/Eobj.FilterAttribute[2]
0 0 1 0 0 1 1 0 * * Root Strict Eobj.FilterAttribute[2]
0 0 0 0 0 1 1 0 0 * Root Strict FilterAttribute[2]
1 1 1 0 0 1 0 0 0 * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj.FilterAttribute
1 1 1 0 0 0 0 0 0 * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj
1 1 1 0 0 0 0 0 1 * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj/
1 1 0 0 0 0 0 0 0 * Root Strict //Avol/Bobj/Cobj/Dobj
1 1 0 0 0 0 0 0 1 * Root Strict //Avol/Bobj/Cobj/Dobj/
1 0 0 0 0 0 0 0 0 * Root Strict //Avol
1 0 0 0 0 0 0 0 1 * Root Strict //Avol/
-
1 1 1 0 0 1 1 0 * * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj.FilterAttribute[2]
-
0 1 1 0 0 1 1 0 * * Root Strict /Bobj/Cobj/Dobj/Eobj.FilterAttribute[2]
-
0 0 1 0 0 1 1 0 * * Root Strict Eobj.FilterAttribute[2]
-
0 0 0 0 0 1 1 0 0 * Root Strict FilterAttribute[2]
-
1 1 1 0 0 1 0 0 0 * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj.FilterAttribute
-
1 1 1 0 0 0 0 0 0 * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj
-
1 1 1 0 0 0 0 0 1 * Root Strict //Avol/Bobj/Cobj/Dobj/Eobj/
-
1 1 0 0 0 0 0 0 0 * Root Strict //Avol/Bobj/Cobj/Dobj
-
1 1 0 0 0 0 0 0 1 * Root Strict //Avol/Bobj/Cobj/Dobj/
-
1 0 0 0 0 0 0 0 0 * Root Strict //Avol
-
1 0 0 0 0 0 0 0 1 * Root Strict //Avol/
*/
*/
typedef
union
{
pwr_tBitMask
m
;
//! Bit mask representation.
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -477,6 +521,7 @@ typedef union {
#endif
}
b
;
//! Word representation.
struct
{
#if (pwr_dHost_byteOrder == pwr_dBigEndian)
...
...
@@ -536,6 +581,7 @@ typedef union {
cdh_mName_index | cdh_mName_form_std | cdh_mName_fallback_strict)
}
cdh_mName
;
//! Parse name struct.
typedef
struct
{
pwr_tOid
poid
;
/* Parent objid, or NOBJID */
cdh_mParseName
parseFlags
;
...
...
@@ -556,6 +602,10 @@ typedef struct {
cdh_sFamily
attribute
;
}
cdh_sParseName
;
/*@}*/
/*! \addtogroup Cdh */
/*@{*/
/* Function prototypes to exported functions. */
int
...
...
@@ -865,8 +915,11 @@ cdh_NoCaseStrcmp (
char
*
cdh_OpSysToStr
(
pwr_mOpSys
opsys
);
/*@}*/
#ifdef __cplusplus
}
#endif
#endif
src/lib/co/src/co_time.c
View file @
273af6ca
...
...
@@ -47,11 +47,6 @@
pwr_Assert((p->tv_sec < 0) ? (p->tv_nsec <= 0 && p->tv_nsec > -1000000000) : TRUE);\
} while (0)
typedef
struct
{
int
tv_sec
;
int
tv_nsec
;
}
tTime
;
/* String representations of months. */
static
const
char
*
monStr
[]
=
...
...
src/lib/rt/src/rt_errh.c
View file @
273af6ca
...
...
@@ -120,8 +120,10 @@ static void errh_send (char*);
static
void
log_message
(
errh_sLog
*
,
char
,
char
*
,
va_list
);
static
int
msg_vsprintf
(
char
*
,
const
char
*
,
aa_list
,
va_list
);
#if defined(OS_LYNX) || defined(OS_LINUX) || defined(OS_ELN)
static
size_t
strnlen
(
const
char
*
,
size_t
);
#if defined(OS_LYNX) || defined(OS_LINUX) || defined(OS_ELN)
static
size_t
errh_strnlen
(
const
char
*
,
size_t
);
#else
#define errh_strnlen strnlen
#endif
static
unsigned
int
do_div
(
int
*
,
unsigned
int
);
...
...
@@ -818,7 +820,7 @@ repeat:
if
(
!
s
)
s
=
"<NULL>"
;
len
=
strnlen
(
s
,
precision
);
len
=
errh_
strnlen
(
s
,
precision
);
if
(
!
(
flags
&
LEFT
))
while
(
len
<
field_width
--
)
...
...
@@ -907,7 +909,7 @@ repeat:
whatever comes true first. */
static
size_t
strnlen
(
errh_
strnlen
(
const
char
*
s
,
size_t
count
)
...
...
src/lib/rt/src/rt_mh_appl.c
View file @
273af6ca
...
...
@@ -27,6 +27,7 @@
#include "rt_mh_util.h"
#include "rt_errh.h"
//! Application context.
typedef
struct
{
mh_sHead
head
;
qcom_sQid
handler
;
...
...
src/lib/rt/src/rt_qcom.h
View file @
273af6ca
...
...
@@ -129,9 +129,7 @@ static const qcom_sQid qcom_cQhdClient = {qcom_cIhdClient, 0};
static
const
qcom_sQid
qcom_cQnacp
=
{
qcom_cInacp
,
0
};
static
const
qcom_sQid
qcom_cQini
=
{
qcom_cIini
,
0
};
/**
* ZZZ
*/
//! Application identity
typedef
struct
{
qcom_tAix
aix
;
/**< Application index */
pwr_tNodeId
nid
;
/**< Node identity */
...
...
@@ -139,27 +137,32 @@ typedef struct {
static
const
qcom_sAid
qcom_cNAid
=
{
0
,
0
};
//! Qcom application
typedef
struct
{
qcom_sAid
aid
;
pid_t
pid
;
}
qcom_sAppl
;
//! Qcom event
typedef
struct
{
qcom_sAid
aid
;
pid_t
pid
;
int
mask
;
}
qcom_sEvent
;
//! Queue attributes
typedef
struct
{
qcom_eQtype
type
;
unsigned
int
quota
;
}
qcom_sQattr
;
//! Qcom type
typedef
struct
{
qcom_eBtype
b
;
qcom_eStype
s
;
}
qcom_sType
;
//! Put data structure.
typedef
struct
{
qcom_sQid
reply
;
qcom_sType
type
;
...
...
@@ -167,6 +170,7 @@ typedef struct {
void
*
data
;
}
qcom_sPut
;
//! Get data structure
typedef
struct
{
qcom_sAid
sender
;
pid_t
pid
;
...
...
@@ -179,8 +183,10 @@ typedef struct {
void
*
data
;
}
qcom_sGet
;
//! Node status
typedef
union
{
pwr_tBitMask
m
;
//! Bitmask representation
pwr_32Bits
(
pwr_Bits
(
initiated
,
1
),
pwr_Bits
(
connected
,
1
),
...
...
@@ -203,17 +209,16 @@ typedef union {
}
qcom_mNode
;
/**
* Strucure describing a node ???
*/
//! Data for a Qcom node.
typedef
struct
{
pwr_tNodeId
nid
;
/
**< node index */
qcom_mNode
flags
;
/
**< node flags */
char
name
[
80
];
/
**< node name */
co_eOS
os
;
/
**< operating system */
co_eHW
hw
;
/
**< hardware */
co_eBO
bo
;
/
**< big/little endian */
co_eFT
ft
;
/
**< float type */
pwr_tNodeId
nid
;
/
/!< node index
qcom_mNode
flags
;
/
/!< node flags
char
name
[
80
];
/
/!< node name
co_eOS
os
;
/
/!< operating system
co_eHW
hw
;
/
/!< hardware
co_eBO
bo
;
/
/!< big/little endian
co_eFT
ft
;
/
/!< float type
}
qcom_sNode
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment