epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / corba-idl / parlay / dsc.idl
bloba04934f993b62484ad7aa359c7ab21f10ca15e42
1 //Source file: dsc.idl
2 //Date: 11 October 2004
3 //Data Session Control Interfaces and Data Types for ETSI ES 203 915-08 V1.1.1, DES/TISPAN-01005-08-OSA, Parlay 5.0
6 #ifndef __DSC_DEFINED
7 #define __DSC_DEFINED
10 #include "osa.idl"
12 module org {
14 module csapi {
17 module dsc {
18 interface IpAppDataSessionControlManager ;
19 interface IpDataSessionControlManager ;
20 interface IpDataSession;
23 const TpInt32 P_DATA_SESSION_SUPERVISE_INFORM = 4;
25 const TpInt32 P_DATA_SESSION_SUPERVISE_DATA_SESSION_ENDED = 2;
27 const TpInt32 P_DATA_SESSION_SUPERVISE_MESSAGE_SENT = 4;
29 const TpInt32 P_DATA_SESSION_SUPERVISE_RELEASE = 1;
31 const TpInt32 P_DATA_SESSION_SUPERVISE_RESPOND = 2;
33 const TpInt32 P_DATA_SESSION_SUPERVISE_VOLUME_REACHED = 1;
36 struct TpChargePerVolume {
37 TpInt32 InitialCharge;
38 TpInt32 CurrentChargePerKilobyte;
39 TpInt32 NextChargePerKilobyte;
42 enum TpDataSessionChargeOrderCategory {
44 P_DATA_SESSION_CHARGE_PER_VOLUME,
45 P_DATA_SESSION_CHARGE_NETWORK
49 union TpDataSessionChargeOrder switch(TpDataSessionChargeOrderCategory) {
50 case P_DATA_SESSION_CHARGE_PER_VOLUME: TpChargePerVolume ChargePerVolume;
51 case P_DATA_SESSION_CHARGE_NETWORK: TpString NetworkCharge;
55 struct TpDataSessionChargePlan {
56 TpDataSessionChargeOrder ChargeOrderType;
57 TpString Currency;
58 TpString AdditionalInfo;
62 enum TpDataSessionErrorType {
64 P_DATA_SESSION_ERROR_UNDEFINED,
65 P_DATA_SESSION_ERROR_INVALID_ADDRESS,
66 P_DATA_SESSION_ERROR_INVALID_STATE
70 union TpDataSessionAdditionalErrorInfo switch(TpDataSessionErrorType) {
71 case P_DATA_SESSION_ERROR_INVALID_ADDRESS: TpAddressError DataSessionErrorInvalidAddress;
72 default: short Dummy;
76 struct TpDataSessionError {
77 TpDateAndTime ErrorTime;
78 TpDataSessionErrorType ErrorType;
79 TpDataSessionAdditionalErrorInfo AdditionalErrorInfo;
83 typedef TpInt32 TpDataSessionEventName;
86 enum TpDataSessionFault {
88 P_DATA_SESSION_FAULT_UNDEFINED,
89 P_DATA_SESSION_FAULT_USER_ABORTED,
90 P_DATA_SESSION_TIMEOUT_ON_RELEASE,
91 P_DATA_SESSION_TIMEOUT_ON_INTERRUPT
95 enum TpDataSessionMonitorMode {
97 P_DATA_SESSION_MONITOR_MODE_INTERRUPT,
98 P_DATA_SESSION_MONITOR_MODE_NOTIFY,
99 P_DATA_SESSION_MONITOR_MODE_DO_NOT_MONITOR
103 struct TpDataSessionEventCriteria {
104 TpAddressRange DestinationAddress;
105 TpAddressRange OriginationAddress;
106 TpDataSessionEventName DataSessionEventName;
107 TpDataSessionMonitorMode MonitorMode;
111 struct TpDataSessionEventInfo {
112 TpAddress DestinationAddress;
113 TpAddress OriginatingAddress;
114 TpDataSessionEventName DataSessionEventName;
115 TpDataSessionMonitorMode MonitorMode;
116 TpDataSessionQosClass QoSClass;
120 struct TpDataSessionReleaseCause {
121 TpInt32 Value;
122 TpInt32 Location;
126 enum TpDataSessionReportType {
128 P_DATA_SESSION_REPORT_UNDEFINED,
129 P_DATA_SESSION_REPORT_CONNECTED,
130 P_DATA_SESSION_REPORT_DISCONNECT
134 union TpDataSessionAdditionalReportInfo switch(TpDataSessionReportType) {
135 case P_DATA_SESSION_REPORT_DISCONNECT: TpDataSessionReleaseCause DataSessionDisconnect;
136 default: short Dummy;
140 struct TpDataSessionReport {
141 TpDataSessionMonitorMode MonitorMode;
142 TpDateAndTime DataSessionEventTime;
143 TpDataSessionReportType DataSessionReportType;
144 TpDataSessionAdditionalReportInfo AdditionalReportInfo;
148 struct TpDataSessionReportRequest {
149 TpDataSessionMonitorMode MonitorMode;
150 TpDataSessionReportType DataSessionReportType;
154 typedef sequence <TpDataSessionReportRequest> TpDataSessionReportRequestSet;
157 typedef TpInt32 TpDataSessionSuperviseReport;
160 typedef TpInt32 TpDataSessionSuperviseTreatment;
163 struct TpDataSessionSuperviseVolume {
164 TpInt32 VolumeQuantity;
165 TpInt32 VolumeUnit;
169 const TpInt32 P_EVENT_NAME_UNDEFINED = 0;
171 const TpInt32 P_EVENT_DSCS_SETUP = 1;
173 const TpInt32 P_EVENT_DSCS_ESTABLISHED = 2;
174 const TpInt32 P_EVENT_NAME_QOD_CHANGED = 4;
176 struct TpDataSessionEventCriteriaResult {
177 TpDataSessionEventCriteria EventCriteria;
178 TpAssignmentID AssignmentID;
182 typedef sequence <TpDataSessionEventCriteriaResult> TpDataSessionEventCriteriaResultSet;
185 const TpInt32 P_EVENT_DSCS_QOS_CHANGED = 4;
187 struct TpDataSessionIdentifier {
188 IpDataSession DataSessionReference;
189 TpSessionID DataSessionID;
193 interface IpAppDataSession : IpInterface {
195 void connectRes (
196 in TpSessionID dataSessionID,
197 in TpDataSessionReport eventReport,
198 in TpAssignmentID assignmentID
201 void connectErr (
202 in TpSessionID dataSessionID,
203 in TpDataSessionError errorIndication,
204 in TpAssignmentID assignmentID
207 void superviseDataSessionRes (
208 in TpSessionID dataSessionID,
209 in TpDataSessionSuperviseReport report,
210 in TpDataSessionSuperviseVolume usedVolume,
211 in TpDataSessionQosClass qualityOfService
214 void superviseDataSessionErr (
215 in TpSessionID dataSessionID,
216 in TpDataSessionError errorIndication
219 void dataSessionFaultDetected (
220 in TpSessionID dataSessionID,
221 in TpDataSessionFault fault
227 interface IpAppDataSessionControlManager : IpInterface {
229 void dataSessionAborted (
230 in TpSessionID dataSession
233 IpAppDataSession reportNotification (
234 in TpDataSessionIdentifier dataSessionReference,
235 in TpDataSessionEventInfo eventInfo,
236 in TpAssignmentID assignmentID
239 void dataSessionNotificationContinued ();
241 void dataSessionNotificationInterrupted ();
243 void abortMultipleDataSessions (
244 in TpSessionIDSet dataSessionSet
250 interface IpDataSession : IpService {
252 TpAssignmentID connectReq (
253 in TpSessionID dataSessionID,
254 in TpDataSessionReportRequestSet responseRequested,
255 in TpAddress targetAddress
257 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_ADDRESS,P_INVALID_SESSION_ID);
259 void release (
260 in TpSessionID dataSessionID,
261 in TpDataSessionReleaseCause cause
263 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_SESSION_ID);
265 void superviseDataSessionReq (
266 in TpSessionID dataSessionID,
267 in TpDataSessionSuperviseTreatment treatment,
268 in TpDataSessionSuperviseVolume bytes
270 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_SESSION_ID);
272 void setDataSessionChargePlan (
273 in TpSessionID dataSessionID,
274 in TpDataSessionChargePlan dataSessionChargePlan
276 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_SESSION_ID);
278 void setAdviceOfCharge (
279 in TpSessionID dataSessionID,
280 in TpAoCInfo aoCInfo,
281 in TpDuration tariffSwitch
283 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_TIME_AND_DATE_FORMAT);
285 void deassignDataSession (
286 in TpSessionID dataSessionID
288 raises (TpCommonExceptions,P_INVALID_SESSION_ID);
290 void continueProcessing (
291 in TpSessionID dataSessionID
293 raises (TpCommonExceptions,P_INVALID_SESSION_ID,P_INVALID_NETWORK_STATE);
298 interface IpDataSessionControlManager : IpService {
300 TpAssignmentID createNotification (
301 in IpAppDataSessionControlManager appDataSessionControlManager,
302 in TpDataSessionEventCriteria eventCriteria
304 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_CRITERIA,P_INVALID_EVENT_TYPE);
306 void destroyNotification (
307 in TpAssignmentID assignmentID
309 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_ASSIGNMENT_ID);
311 void changeNotification (
312 in TpAssignmentID assignmentID,
313 in TpDataSessionEventCriteria eventCriteria
315 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_ASSIGNMENT_ID,P_INVALID_CRITERIA,P_INVALID_EVENT_TYPE);
317 TpAssignmentID enableNotifications (
318 in IpAppDataSessionControlManager appDataSessionControlManager
320 raises (TpCommonExceptions);
322 void disableNotifications ()
323 raises (TpCommonExceptions);
325 TpDataSessionEventCriteriaResultSet getNotifications ()
326 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE);
328 TpAssignmentID createNotifications (
329 in IpAppDataSessionControlManager appDataSessionControlManager,
330 in TpDataSessionEventCriteria eventCriteria
332 raises (TpCommonExceptions,P_INVALID_NETWORK_STATE,P_INVALID_CRITERIA,P_INVALID_EVENT_TYPE,P_INVALID_INTERFACE_TYPE);
342 #endif