OpenClovis Logo

saAis.h
1 /*******************************************************************************
2 **
3 ** FILE:
4 ** SaAis.h
5 **
6 ** DESCRIPTION:
7 ** This file contains the prototypes and type definitions required by all
8 ** Service Availability(TM) Forum's AIS services.
9 **
10 ** SPECIFICATION VERSION:
11 ** SAI-AIS-CPROG-B.05.01
12 **
13 ** DATE:
14 ** Wed Oct 08 2008
15 **
16 ** LEGAL:
17 ** OWNERSHIP OF SPECIFICATION AND COPYRIGHTS.
18 **
19 ** Copyright 2008 by the Service Availability Forum. All rights reserved.
20 **
21 ** Permission to use, copy, modify, and distribute this software for any
22 ** purpose without fee is hereby granted, provided that this entire notice
23 ** is included in all copies of any software which is or includes a copy
24 ** or modification of this software and in all copies of the supporting
25 ** documentation for such software.
26 **
27 ** THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
28 ** WARRANTY. IN PARTICULAR, THE SERVICE AVAILABILITY FORUM DOES NOT MAKE ANY
29 ** REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
30 ** OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
31 **
32 *******************************************************************************/
33 
34 #ifndef _SA_AIS_H
35 #define _SA_AIS_H
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 typedef char SaInt8T;
42 typedef short SaInt16T;
43 typedef int SaInt32T;
44 typedef long long SaInt64T;
45 typedef unsigned char SaUint8T;
46 typedef unsigned short SaUint16T;
47 typedef unsigned int SaUint32T;
48 typedef unsigned long long SaUint64T;
49 
51 typedef float SaFloatT;
52 typedef double SaDoubleT;
53 typedef char* SaStringT;
54 
55 typedef SaInt64T SaTimeT;
56 typedef SaUint64T SaInvocationT;
57 typedef SaUint64T SaSizeT;
58 typedef SaUint64T SaOffsetT;
59 typedef SaUint64T SaSelectionObjectT;
60 
61 #define SA_TIME_END 0x7FFFFFFFFFFFFFFFLL
62 #define SA_TIME_BEGIN 0x0LL
63 #define SA_TIME_UNKNOWN 0x8000000000000000LL
64 
65 #define SA_TIME_ONE_MICROSECOND 1000LL
66 #define SA_TIME_ONE_MILLISECOND 1000000LL
67 #define SA_TIME_ONE_SECOND 1000000000LL
68 #define SA_TIME_ONE_MINUTE 60000000000LL
69 #define SA_TIME_ONE_HOUR 3600000000000LL
70 #define SA_TIME_ONE_DAY 86400000000000LL
71 #define SA_TIME_MAX SA_TIME_END
72 
73 #define SA_MAX_NAME_LENGTH 256
74 
75 #define SA_TRACK_CURRENT 0x01
76 #define SA_TRACK_CHANGES 0x02
77 #define SA_TRACK_CHANGES_ONLY 0x04
78 #define SA_TRACK_LOCAL 0x08
79 #define SA_TRACK_START_STEP 0x10
80 #define SA_TRACK_VALIDATE_STEP 0x20
81 
82 typedef enum {
83  SA_FALSE = 0,
84  SA_TRUE = 1
85 } SaBoolT;
86 
87 typedef enum {
88  SA_DISPATCH_ONE = 1,
89  SA_DISPATCH_ALL = 2,
90  SA_DISPATCH_BLOCKING = 3
91 } SaDispatchFlagsT;
92 
93 typedef enum {
94  SA_AIS_OK = 1,
95  SA_AIS_ERR_LIBRARY = 2,
96  SA_AIS_ERR_VERSION = 3,
97  SA_AIS_ERR_INIT = 4,
98  SA_AIS_ERR_TIMEOUT = 5,
99  SA_AIS_ERR_TRY_AGAIN = 6,
100  SA_AIS_ERR_INVALID_PARAM = 7,
101  SA_AIS_ERR_NO_MEMORY = 8,
102  SA_AIS_ERR_BAD_HANDLE = 9,
103  SA_AIS_ERR_BUSY = 10,
104  SA_AIS_ERR_ACCESS = 11,
105  SA_AIS_ERR_NOT_EXIST = 12,
106  SA_AIS_ERR_NAME_TOO_LONG = 13,
107  SA_AIS_ERR_EXIST = 14,
108  SA_AIS_ERR_NO_SPACE = 15,
109  SA_AIS_ERR_INTERRUPT =16,
110  SA_AIS_ERR_NAME_NOT_FOUND = 17,
111  SA_AIS_ERR_NO_RESOURCES = 18,
112  SA_AIS_ERR_NOT_SUPPORTED = 19,
113  SA_AIS_ERR_BAD_OPERATION = 20,
114  SA_AIS_ERR_FAILED_OPERATION = 21,
115  SA_AIS_ERR_MESSAGE_ERROR = 22,
116  SA_AIS_ERR_QUEUE_FULL = 23,
117  SA_AIS_ERR_QUEUE_NOT_AVAILABLE = 24,
118  SA_AIS_ERR_BAD_FLAGS = 25,
119  SA_AIS_ERR_TOO_BIG = 26,
120  SA_AIS_ERR_NO_SECTIONS = 27,
121  SA_AIS_ERR_NO_OP = 28,
122  SA_AIS_ERR_REPAIR_PENDING = 29,
123  SA_AIS_ERR_NO_BINDINGS = 30,
124  SA_AIS_ERR_UNAVAILABLE = 31,
125  SA_AIS_ERR_CAMPAIGN_ERROR_DETECTED = 32,
126  SA_AIS_ERR_CAMPAIGN_PROC_FAILED = 33,
127  SA_AIS_ERR_CAMPAIGN_CANCELED = 34,
128  SA_AIS_ERR_CAMPAIGN_FAILED = 35,
129  SA_AIS_ERR_CAMPAIGN_SUSPENDED = 36,
130  SA_AIS_ERR_CAMPAIGN_SUSPENDING = 37,
131  SA_AIS_ERR_ACCESS_DENIED = 38,
132  SA_AIS_ERR_NOT_READY = 39,
133  SA_AIS_ERR_DEPLOYMENT = 40
134 } SaAisErrorT;
135 
136 typedef enum {
137  SA_SVC_HPI = 1,
138  SA_SVC_AMF = 2,
139  SA_SVC_CLM = 3,
140  SA_SVC_CKPT = 4,
141  SA_SVC_EVT = 5,
142  SA_SVC_MSG = 6,
143  SA_SVC_LCK = 7,
144  SA_SVC_IMMS = 8,
145  SA_SCV_LOG = 9,
146  SA_SVC_NTF = 10,
147  SA_SVC_NAM = 11,
148  SA_SVC_TMR = 12,
149  SA_SVC_SMF = 13,
150  SA_SVC_SEC = 14,
151  SA_SVC_PLM = 15
152 } SaServicesT;
153 
154 typedef struct {
155  SaSizeT bufferSize;
156  SaUint8T *bufferAddr;
157 } SaAnyT;
158 
159 typedef struct {
160  SaUint16T length;
161  SaUint8T value[SA_MAX_NAME_LENGTH];
162 } SaNameT;
163 
164 typedef struct {
165  SaUint8T releaseCode;
166  SaUint8T majorVersion;
167  SaUint8T minorVersion;
168 } SaVersionT;
169 
170 typedef union {
171  SaInt64T int64Value;
172  SaUint64T uint64Value;
173  SaTimeT timeValue;
174  SaFloatT floatValue;
175  SaDoubleT doubleValue;
176 } SaLimitValueT;
177 
178 #ifdef __cplusplus
179 }
180 #endif
181 
182 #endif /* _SA_AIS_H */
183 

Generated on Tue Jan 10 10:29:15 PST 2012 for OpenClovis SDK using Doxygen