~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to packages/extra/palmunits/telephonymgrtypes.pp

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
(******************************************************************************
2
 
 *
3
 
 * Copyright (c) 1999-2000 Palm, Inc. or its subsidiaries.
4
 
 * All rights reserved.
5
 
 *
6
 
 * File: TelephonyMgrTypes.h
7
 
 *
8
 
 * Release: Palm OS SDK 4.0 (63220)
9
 
 *
10
 
 * Description:
11
 
 *    This is the header file declaring the data types used by the
12
 
 *    Telephony Manager for Palm OS Wireless Telephony Add-on.
13
 
 *
14
 
 * History:
15
 
 *       Created by Gilles Fabre
16
 
 *    08/02/99    gfa         Initial version.
17
 
 *    05/02/00    gfa         Shared lib, 2nd API version.
18
 
 *
19
 
 *****************************************************************************)
20
 
 
21
 
unit telephonymgrtypes;
22
 
 
23
 
interface
24
 
 
25
 
uses  palmos, errorbase, event_;
26
 
 
27
 
const
28
 
  telErrorClass = appErrorClass + $100; // DOLATER: remove this constant 
29
 
  kTelMaxPhoneNumberLen = 30;
30
 
 
31
 
// managers id
32
 
type
33
 
  TelServices = Enum;
34
 
 
35
 
const
36
 
  kTelNwkServiceId = 0;
37
 
  kTelStyServiceId = Succ(kTelNwkServiceId);
38
 
  kTelPowServiceId = Succ(kTelStyServiceId);
39
 
  kTelCfgServiceId = Succ(kTelPowServiceId);
40
 
  kTelSmsServiceId = Succ(kTelCfgServiceId);
41
 
  kTelEmcServiceId = Succ(kTelSmsServiceId);
42
 
  kTelSpcServiceId = Succ(kTelEmcServiceId);
43
 
  kTelDtcServiceId = Succ(kTelSpcServiceId);
44
 
  kTelPhbServiceId = Succ(kTelDtcServiceId);
45
 
  kTelOemServiceId = Succ(kTelPhbServiceId);
46
 
  kTelSndServiceId = Succ(kTelOemServiceId);
47
 
  kTelInfServiceId = Succ(kTelSndServiceId);
48
 
 
49
 
// messages
50
 
type
51
 
  TelMessages = Enum;
52
 
 
53
 
const
54
 
  kTelGetCallStateMessage = 0;
55
 
 
56
 
  kTelSendCommandStringMessage           = Succ(kTelGetCallStateMessage);
57
 
 
58
 
  kTelNwkGetNetworkNameMessage           = Succ(kTelSendCommandStringMessage);
59
 
  kTelNwkGetNetworkTypeMessage           = Succ(kTelNwkGetNetworkNameMessage);
60
 
  kTelNwkGetSignalLevelMessage           = Succ(kTelNwkGetNetworkTypeMessage);
61
 
  kTelNwkGetSearchModeMessage            = Succ(kTelNwkGetSignalLevelMessage);
62
 
  kTelNwkSetSearchModeMessage            = Succ(kTelNwkGetSearchModeMessage);
63
 
  kTelNwkGetNetworksMessage              = Succ(kTelNwkSetSearchModeMessage);
64
 
  kTelNwkSelectNetworkMessage            = Succ(kTelNwkGetNetworksMessage);
65
 
  kTelNwkGetSelectedNetworkMessage       = Succ(kTelNwkSelectNetworkMessage);
66
 
  kTelNwkGetLocationMessage              = Succ(kTelNwkGetSelectedNetworkMessage);
67
 
 
68
 
  kTelStyGetAuthenticationStateMessage   = Succ(kTelNwkGetLocationMessage       );
69
 
  kTelStyEnterAuthenticationCodeMessage  = Succ(kTelStyGetAuthenticationStateMessage);
70
 
  kTelStyChangeAuthenticationCodeMessage = Succ(kTelStyEnterAuthenticationCodeMessage);
71
 
 
72
 
  kTelPowGetPowerLevelMessage            = Succ(kTelStyChangeAuthenticationCodeMessage);
73
 
  kTelPowGetBatteryStatusMessage         = Succ(kTelPowGetPowerLevelMessage);
74
 
  kTelPowSetPhonePowerMessage            = Succ(kTelPowGetBatteryStatusMessage);
75
 
 
76
 
  kTelCfgSetSmsCenterMessage             = Succ(kTelPowSetPhonePowerMessage);
77
 
  kTelCfgGetSmsCenterMessage             = Succ(kTelCfgSetSmsCenterMessage);
78
 
  kTelCfgGetPhoneNumberMessage           = Succ(kTelCfgGetSmsCenterMessage);
79
 
 
80
 
  kTelSmsSendMessageMessage              = Succ(kTelCfgGetPhoneNumberMessage);
81
 
  kTelSmsSendManualAcknowledgeMessage    = Succ(kTelSmsSendMessageMessage);
82
 
  kTelSmsGetMessageCountMessage          = Succ(kTelSmsSendManualAcknowledgeMessage);
83
 
  kTelSmsReadMessageMessage              = Succ(kTelSmsGetMessageCountMessage);
84
 
  kTelSmsReadMessagesMessage             = Succ(kTelSmsReadMessageMessage);
85
 
  kTelSmsReadSubmittedMessageMessage     = Succ(kTelSmsReadMessagesMessage);
86
 
  kTelSmsReadSubmittedMessagesMessage    = Succ(kTelSmsReadSubmittedMessageMessage);
87
 
  kTelSmsReadReportMessage               = Succ(kTelSmsReadSubmittedMessagesMessage);
88
 
  kTelSmsReadReportsMessage              = Succ(kTelSmsReadReportMessage);
89
 
  kTelSmsDeleteMessageMessage            = Succ(kTelSmsReadReportsMessage);
90
 
  kTelSmsGetAvailableStorageMessage      = Succ(kTelSmsDeleteMessageMessage);
91
 
  kTelSmsSelectStorageMessage            = Succ(kTelSmsGetAvailableStorageMessage);
92
 
  kTelSmsGetSelectedStorageMessage       = Succ(kTelSmsSelectStorageMessage);
93
 
  kTelSmsGetDataMaxSizeMessage           = Succ(kTelSmsGetSelectedStorageMessage);
94
 
 
95
 
  kTelEmcGetNumberCountMessage           = Succ(kTelSmsGetDataMaxSizeMessage);
96
 
  kTelEmcGetNumberMessage                = Succ(kTelEmcGetNumberCountMessage);
97
 
  kTelEmcSetNumberMessage                = Succ(kTelEmcGetNumberMessage);
98
 
  kTelEmcSelectNumberMessage             = Succ(kTelEmcSetNumberMessage);
99
 
  kTelEmcCallMessage                     = Succ(kTelEmcSelectNumberMessage);
100
 
  kTelEmcCloseLineMessage                = Succ(kTelEmcCallMessage);
101
 
 
102
 
  kTelSpcAcceptCallMessage               = Succ(kTelEmcCloseLineMessage);
103
 
  kTelSpcRejectCallMessage               = Succ(kTelSpcAcceptCallMessage);
104
 
  kTelSpcCallNumberMessage               = Succ(kTelSpcRejectCallMessage);
105
 
  kTelSpcCloseLineMessage                = Succ(kTelSpcCallNumberMessage);
106
 
  kTelSpcHoldLineMessage                 = Succ(kTelSpcCloseLineMessage);
107
 
  kTelSpcRetrieveHeldLineMessage         = Succ(kTelSpcHoldLineMessage);
108
 
  kTelSpcGetCallerNumberMessage          = Succ(kTelSpcRetrieveHeldLineMessage);
109
 
  kTelSpcSendBurstDTMFMessage            = Succ(kTelSpcGetCallerNumberMessage);
110
 
  kTelSpcStartContinuousDTMFMessage      = Succ(kTelSpcSendBurstDTMFMessage);
111
 
  kTelSpcStopContinuousDTMFMessage       = Succ(kTelSpcStartContinuousDTMFMessage);
112
 
  kTelSpcConferenceMessage               = Succ(kTelSpcStopContinuousDTMFMessage);
113
 
  kTelSpcSelectLineMessage               = Succ(kTelSpcConferenceMessage);
114
 
  kTelSpcPlayDTMFMessage                 = Succ(kTelSpcSelectLineMessage);
115
 
 
116
 
  kTelDtcCallNumberMessage               = Succ(kTelSpcPlayDTMFMessage);
117
 
  kTelDtcCloseLineMessage                = Succ(kTelDtcCallNumberMessage);
118
 
  kTelDtcSendDataMessage                 = Succ(kTelDtcCloseLineMessage);
119
 
  kTelDtcReceiveDataMessage              = Succ(kTelDtcSendDataMessage);
120
 
 
121
 
  kTelPhbGetEntryCountMessage            = Succ(kTelDtcReceiveDataMessage);
122
 
  kTelPhbGetEntryMessage                 = Succ(kTelPhbGetEntryCountMessage);
123
 
  kTelPhbGetEntriesMessage               = Succ(kTelPhbGetEntryMessage);
124
 
  kTelPhbAddEntryMessage                 = Succ(kTelPhbGetEntriesMessage);
125
 
  kTelPhbDeleteEntryMessage              = Succ(kTelPhbAddEntryMessage);
126
 
  kTelPhbGetAvailablePhonebooksMessage   = Succ(kTelPhbDeleteEntryMessage);
127
 
  kTelPhbSelectPhonebookMessage          = Succ(kTelPhbGetAvailablePhonebooksMessage);
128
 
  kTelPhbGetSelectedPhonebookMessage     = Succ(kTelPhbSelectPhonebookMessage);
129
 
  kTelPhbGetEntryMaxSizesMessage         = Succ(kTelPhbGetSelectedPhonebookMessage);
130
 
 
131
 
  kTelSndPlayKeyToneMessage              = Succ(kTelPhbGetEntryMaxSizesMessage);
132
 
  kTelSndStopKeyToneMessage              = Succ(kTelSndPlayKeyToneMessage);
133
 
  kTelSndMuteMessage                     = Succ(kTelSndStopKeyToneMessage);
134
 
 
135
 
  kTelUrqSmsGetUniquePartIdMessage       = Succ(kTelSndMuteMessage);
136
 
 
137
 
  kTelUrqClosePhoneConnectionMessage     = Succ(kTelUrqSmsGetUniquePartIdMessage);   // urgent query: ask TT to close connection with phone 
138
 
  kTelUrqOpenPhoneConnectionMessage      = Succ(kTelUrqClosePhoneConnectionMessage); // urgent query: ask TT to open connection with phone 
139
 
  kTelUrqIsPhoneConnectedMessage         = Succ(kTelUrqOpenPhoneConnectionMessage);  // urgent query: ask TT the connection state with phone 
140
 
  kTelUrqMatchPhoneDriverMessage         = Succ(kTelUrqIsPhoneConnectedMessage);     // urgent query: ask TT to check whether the driver matches the phone 
141
 
  kTelUrqCancelMessage                   = Succ(kTelUrqMatchPhoneDriverMessage);     // urgent query: ask TT to cancel an asynchronous call 
142
 
  kTelUrqIsServiceAvailableMessage       = Succ(kTelUrqCancelMessage);               // urgent query: ask TT whether a service set is available 
143
 
  kTelUrqIsFunctionSupportedMessage      = Succ(kTelUrqIsServiceAvailableMessage);   // urgent query: ask TT whether a function is supported 
144
 
 
145
 
  kTelUrqGetTTStatusMessage              = Succ(kTelUrqIsFunctionSupportedMessage);  // urgent query: ask TT is status 
146
 
  kTelUrqSleepMessage                    = Succ(kTelUrqGetTTStatusMessage);          // urgent query: warn TT the palm is going asleep 
147
 
  kTelUrqWakeMessage                     = Succ(kTelUrqSleepMessage);                // urgent query: warn TT the palm is awaking 
148
 
  kTelUrqDetachMessage                   = Succ(kTelUrqWakeMessage);                 // urgent query: warn TT associated application is about to quit 
149
 
  kTelUrqStopTTMessage                   = Succ(kTelUrqDetachMessage);               // urgent query: ask TT to stop 
150
 
 
151
 
  kTelInfGetInformationMessage           = Succ(kTelUrqStopTTMessage);
152
 
 
153
 
  kTelOemCallMessage                     = Succ(kTelInfGetInformationMessage);       // oem calls 
154
 
 
155
 
  kTelLastMessage                        = kTelOemCallMessage;
156
 
 
157
 
type
158
 
  // basic types 
159
 
  TelAppID = UInt32;
160
 
 
161
 
  // notification structure 
162
 
  TelNotificationType = record
163
 
    notificationData:  UInt32; // associated data if any 
164
 
    notificationData2: UInt32; // associated data if any 
165
 
    timeStamp:         UInt32; // time stamp 
166
 
    notificationId:    UInt16; // what was the associated telephony event 
167
 
    priority:          UInt8;  // notification priority 0 == max, 255 == min 
168
 
  end;
169
 
 
170
 
  // event structure
171
 
  TelEventType = record
172
 
    eType:      eventsEnum;
173
 
    penDown:    Boolean;
174
 
    tapCount:   UInt8;
175
 
    screenX:    Int16;
176
 
    screenY:    Int16;
177
 
 
178
 
    functionId: UInt16;  // ID of the message associated to the asynchronous function call
179
 
    transId:    UInt16;  // transId returned on asynchronous function call return
180
 
    aramP:      ^MemPtr; // parameter passed at asynchronous function call
181
 
    returnCode: Err;     // function return code, errNone if ok, else an error
182
 
  end;
183
 
 
184
 
  // command string
185
 
  TelSendCommandStringType = record
186
 
    commandString: PChar;  // command string to be sent
187
 
    resultString:  PChar;  // result string
188
 
    resultSize:    UInt16; // result string buffer size/max bytes retrieved on result
189
 
    timeOut:       UInt32; // milliseconds time out for command processing (before phone starts replying)
190
 
  end;
191
 
 
192
 
  // call state
193
 
  TelGetCallStateType = record
194
 
    state: UInt8;           // call state, see kTelCall<State> constants in TelMgr.h
195
 
    callType: UInt8;        // incoming or outgoing
196
 
    callServiceType: UInt8; // voice or data
197
 
 
198
 
    // outgoing or incoming call number
199
 
    numberSize: UInt8; // size of number (in), length of number + 1 (out)
200
 
    number: PChar;     // called or calling number
201
 
  end;
202
 
 
203
 
  // network support 
204
 
  TelNwkGetNetworkNameType = record
205
 
    id: UInt32;   // network ID 
206
 
    value: PChar; // name 
207
 
    size: UInt16; // size of name (in), name len including '\0' (out) 
208
 
  end;
209
 
 
210
 
  TelNwkGetNetworksType = record
211
 
    etworkIdP: ^UInt32; // network IDs array
212
 
    size: UInt8;        // size of networkIdP (in), number of network IDs (out)
213
 
  end;
214
 
 
215
 
  // phone location within network web 
216
 
  TelNwkGetLocationType = record
217
 
     value: PChar; // current location string 
218
 
     size: UInt16; // size of value (in), location len including '\0' (out) 
219
 
  end;
220
 
 
221
 
  // change security code
222
 
  TelStyChangeAuthenticationType = record
223
 
    codeId: UInt8;  // code to be changed
224
 
    oldCode: PChar; // old code value
225
 
    newCode: PChar; // new code value
226
 
  end;
227
 
 
228
 
  // SMS center 
229
 
  TelCfgGetSmsCenterType = record
230
 
    size: UInt8;  // size of value (in), SMS dial number len including '\0' (out)
231
 
    value: PChar; // SMS center dial number
232
 
  end;
233
 
 
234
 
  // phone number 
235
 
  TelCfgGetPhoneNumberType = record
236
 
    size: UInt8;  // size of value (in), phone dial number len including '\0' (out)
237
 
    value: PChar; // phone dial number
238
 
  end;
239
 
 
240
 
  // SMS
241
 
  // SMS time
242
 
  TelSmsDateTimeType = record
243
 
    absolute: Boolean;
244
 
    dateTime: UInt32; // relative time from now, or Palm absolute time 
245
 
  end;
246
 
 
247
 
  // SMS extensions 
248
 
  TelSmsMultiPartExtensionType = record
249
 
    bytesSent: UInt16;
250
 
    partCurrent: UInt16;
251
 
    partCount: UInt16;
252
 
    partId: UInt16;
253
 
  end;
254
 
 
255
 
  TelSmsNbsExtensionType = record
256
 
    destPort: UInt16; // destination NBS port
257
 
    srcPort: UInt16;  // source NBS port
258
 
  end;
259
 
 
260
 
  TelSmsUserExtensionType = record
261
 
    extHeader: ^UInt8; // user defined extended header 
262
 
    extHeaderSize: UInt8;
263
 
  end;
264
 
 
265
 
  TelSmsExtensionType = record
266
 
    extensionTypeId: UInt8; // what does this extension describe?
267
 
 
268
 
    case Integer of
269
 
      1: (mp: TelSmsMultiPartExtensionType); // multi-part SMS extension
270
 
      2: (nbs: TelSmsNbsExtensionType);      // NBS SMS extension
271
 
      3: (user: TelSmsUserExtensionType);    // User Defined SMS extension
272
 
  end;
273
 
 
274
 
  // Advanced parameters for GSM
275
 
  TelSmsSubmitAdvancedGSMType = record
276
 
    protocolId: UInt16;               // Reserved - not supported (Fax, paging, . . .) GSM only
277
 
 
278
 
    rejectDuplicatedRequest: Boolean; // GSM - Network must reject msg if the same exists
279
 
    replyPath: Boolean;               // GSM - use reply specified path
280
 
 
281
 
    serviceCenterNumber: PChar;       // SMS service center number
282
 
    serviceCenterNumberSize: UInt8;   // Used for decoding only
283
 
  end;
284
 
 
285
 
  // Advanced parameters for CDMA
286
 
  TelSmsSubmitAdvancedCDMAType = record
287
 
    manualAckRequest: Boolean;
288
 
    messageType: UInt8;               // Message Type
289
 
 
290
 
    deferredDate: TelSmsDateTimeType; // GSM & CDMA only Absolute or relative
291
 
 
292
 
    priority: UInt8;                  // CDMA & TDMA only
293
 
    privacy: UInt8;                   // CDMA & TDMA only
294
 
 
295
 
    alertOnDeliveryRequest: Boolean;  // CDMA & TDMA(?)
296
 
 
297
 
    callbackNumber: PChar;            // CDMA & TDMA only - address to reply
298
 
    callbackNumberSize: UInt8;
299
 
  end;
300
 
 
301
 
  // Advanced parameters for TDMA - currently identical to CDMA
302
 
  TelSmsSubmitAdvancedTDMAType = TelSmsSubmitAdvancedCDMAType;
303
 
 
304
 
  TelSmsSubmitMessageAdvancedParams = record
305
 
  case Integer of
306
 
    1: (advancedGSM: TelSmsSubmitAdvancedGSMType);
307
 
    2: (advancedCDMA: TelSmsSubmitAdvancedCDMAType);
308
 
    3: (advancedTDMA: TelSmsSubmitAdvancedTDMAType);
309
 
  end;
310
 
 
311
 
  // Submit message structure
312
 
  TelSmsSubmitMessageType = record
313
 
    version: UInt16;                    // SMS API version
314
 
 
315
 
    networkDeliveryRequest: Boolean;    // All - Ask a network delivery report / status report
316
 
 
317
 
    destinationAddress: PChar;          // length : GSM 12bytes, CDMA up to 2x64 bytes
318
 
    destinationAddressSize: UInt8;      // Used for decoding only
319
 
 
320
 
    dataSize: UInt16;                   // Length of data being sent
321
 
    data: ^UInt8;                       // All
322
 
    dataCodingScheme: UInt8;
323
 
 
324
 
    validityPeriod: TelSmsDateTimeType; // All - Absolute or relative
325
 
 
326
 
    // Advanced parameters
327
 
    standardType: UInt8;                // Indicates the type of advanced parameters
328
 
 
329
 
    advancedParams: TelSmsSubmitMessageAdvancedParams;
330
 
 
331
 
    extensionsCount: UInt8;             // how many extensions in this message
332
 
    extensionsP: ^TelSmsExtensionType;  // SMS extensions array: NBS, Multi-part, etc.
333
 
  end;
334
 
 
335
 
  // Submit message structure parameter
336
 
  TelSmsSendMessageType = record
337
 
    messageId: UInt32; // Output parameter, filled by the telephony implementation
338
 
    message: TelSmsSubmitMessageType;
339
 
  end;
340
 
 
341
 
  // Submitted message structure parameter
342
 
  TelSmsSubmittedMessageType = record
343
 
    index: UInt16; // Message's index on the phone
344
 
    message: TelSmsSubmitMessageType;
345
 
  end;
346
 
 
347
 
  // Manual acknowledge structure
348
 
  TelSmsManualAckType = record
349
 
    version: UInt16;           // SMS API version
350
 
    destinationAddress: PChar; // length : GSM 12bytes, CDMA up to 2x64 bytes
351
 
    messagesId: UInt32;        // Message Id of message to be acknowledged
352
 
 
353
 
    dataSize: UInt16;          // Length of data being sent
354
 
    data: ^UInt8;              // All
355
 
    dataCodingScheme: UInt8;
356
 
 
357
 
    responseCode: UInt8;       // Value is network dependant
358
 
  end;
359
 
 
360
 
  TelSmsDeliveryAdvancedGSMType = record
361
 
    protocolId: UInt16; // reserved - not supported - GSM only
362
 
 
363
 
    replyPath: Boolean; // GSM - must use specified reply path
364
 
    serviceCenterNumber: PChar;
365
 
    serviceCenterNumberSize: UInt8;
366
 
  end;
367
 
 
368
 
  TelSmsDeliveryAdvancedCDMAType = record
369
 
    messageType: UInt8;                 // Delivery Message Type
370
 
 
371
 
    validityPeriod: TelSmsDateTimeType; // CDMA & TDMA only
372
 
 
373
 
    priority: UInt8;                    // CDMA & TDMA only
374
 
    privacy: UInt8;                     // CDMA & TDMA only
375
 
 
376
 
    alertOnDeliveryRequest: Boolean;    // CDMA & TDMA only
377
 
    manualAckRequest: Boolean;          // CDMA
378
 
 
379
 
    voiceMessageNumber: UInt8;          // CDMA, TDMA, GSM
380
 
 
381
 
    callbackNumberSize: UInt8;
382
 
    callbackNumberAddress: PChar;       // Store callback address
383
 
 
384
 
    languageIndicator: UInt8;           // reserved - not supported - CDMA only
385
 
  end;
386
 
 
387
 
  TelSmsDeliveryAdvancedTDMAType = record
388
 
    messageType: UInt8;                 // Delivery Message Type
389
 
 
390
 
    validityPeriod: TelSmsDateTimeType; // CDMA & TDMA only
391
 
 
392
 
    priority: UInt8;                    // CDMA & TDMA only
393
 
    privacy: UInt8;                     // CDMA & TDMA only
394
 
 
395
 
    manualAckRequest: Boolean;          // CDMA
396
 
 
397
 
    alertOnDeliveryRequest: Boolean;    // CDMA & TDMA only
398
 
    voiceMessageNumber: UInt8;          // CDMA, TDMA, GSM
399
 
 
400
 
    callbackNumberSize: UInt8;
401
 
    callbackNumberAddress: PChar;       // Store callback address 
402
 
  end;
403
 
 
404
 
  TelSmsDeliveryMessageAdvancedParams = record
405
 
    case Integer of
406
 
      1: (advancedGSM: TelSmsDeliveryAdvancedGSMType);
407
 
      2: (advancedCDMA: TelSmsDeliveryAdvancedCDMAType);
408
 
      3: (advancedTDMA: TelSmsDeliveryAdvancedTDMAType);
409
 
  end;
410
 
 
411
 
  // Delivery message structure 
412
 
  TelSmsDeliveryMessageType = record
413
 
 
414
 
    version: UInt16;    // SMS API version 
415
 
    index: UInt16;      // SMS index on the phone storage 
416
 
 
417
 
    messageIdentifier: UInt32;
418
 
 
419
 
    timeStamp: TelSmsDateTimeType;
420
 
 
421
 
    dataSize: UInt16;                  // Length of data being sent
422
 
    data: ^UInt8;
423
 
    dataCodingScheme: UInt8;           // enum All
424
 
 
425
 
    originatingAddressSize: UInt8;
426
 
    originatingAddress: PChar;         // Store originating address (delivery message)
427
 
 
428
 
    otherToReceive: Boolean;           // GSM & CDMA & TDMA(?)
429
 
 
430
 
    reportDeliveryIndicator: Boolean;  // All
431
 
 
432
 
    // Advanced parameters
433
 
    standardType: UInt8;
434
 
    advancedParams: TelSmsDeliveryMessageAdvancedParams;
435
 
 
436
 
    extensionsCount: UInt8;            // how many extensions in this message
437
 
    extensionsP: ^TelSmsExtensionType; // SMS extensions array: NBS, Multi-part, etc.
438
 
  end;
439
 
 
440
 
  // Report message structure 
441
 
  TelSmsReportType = record
442
 
    version: UInt16;
443
 
    index: UInt16;             // SMS index on the phone storage 
444
 
    reportType: UInt8;         // Delivery report type
445
 
    messageId: UInt32;
446
 
 
447
 
    dataSize: UInt16;          // Length of data being sent
448
 
    data: ^UInt8;
449
 
    dataCodingScheme: UInt8;
450
 
 
451
 
    originatingAddress: PChar; // Store originating address
452
 
    originatingAddressSize: UInt8;
453
 
 
454
 
    report: UInt8;
455
 
 
456
 
    timeStamp: TelSmsDateTimeType; // Time when SC received the corresponding sent message 
457
 
  end;
458
 
 
459
 
  // multiple messages read 
460
 
  TelSmsReadMessagesType = record
461
 
    first: UInt16; // first message physical index, zero based
462
 
    count: UInt16; // number of messages to read 
463
 
    messagesP: ^TelSmsDeliveryMessageType; // messages array 
464
 
  end;
465
 
 
466
 
  // multiple reports read 
467
 
  TelSmsReadReportsType = record
468
 
    first: UInt16; // first report physical index, zero based
469
 
    count: UInt16; // number of reports to read
470
 
    reportsP: ^TelSmsReportType; // reports array 
471
 
  end;
472
 
 
473
 
  // multiple submitted messages read 
474
 
  TelSmsReadSubmittedMessagesType = record
475
 
    first: UInt16; // first sent message physical index, zero based
476
 
    count: UInt16; // number of sent messages to read
477
 
    submittedsP: ^TelSmsSubmittedMessageType; // sent messages array 
478
 
  end;
479
 
 
480
 
  // get messages number/slots in selected storage 
481
 
  TelSmsGetMessageCountType = record
482
 
    messageType: UInt8; // report, submitted, etc. 
483
 
    slots: UInt16;      // number of entries in the selected storage 
484
 
    count: UInt16;      // number of messages present in the selected storage 
485
 
  end;
486
 
 
487
 
  // delete message selected storage 
488
 
  TelSmsDeleteMessageType = record
489
 
    messageType: UInt8; // report, submitted, etc. 
490
 
    index: UInt16;      // physical index in storage, zero based 
491
 
  end;
492
 
 
493
 
  // available storage list 
494
 
  TelSmsGetAvailableStorageType = record
495
 
    count: UInt16;     // storage IDs array size (in), retrieved IDs number (out) 
496
 
    storagesP: ^UInt8; //  storage IDs array
497
 
  end;
498
 
 
499
 
  // emergency call support 
500
 
  TelEmcGetNumberType = record
501
 
    index: UInt8; // EMC number index, zero based 
502
 
    size: UInt8;  // EMC dial number len including '\0' (out), value size (in) 
503
 
    value: PChar; // EMC dial number 
504
 
  end;
505
 
 
506
 
  TelEmcSetNumberType = record
507
 
    index: UInt8; // EMC number index, zero based 
508
 
    value: PChar; // EMC dial number 
509
 
  end;
510
 
 
511
 
  // speech call support 
512
 
  TelSpcGetCallerNumberType = record
513
 
    size: UInt8;  // dial number len including '\0' (out), value size (in) 
514
 
    value: PChar; // dial number 
515
 
  end;
516
 
 
517
 
  TelSpcPlayDTMFType = record
518
 
    keyTone: UInt8;   // keytone to be played 
519
 
    duration: UInt32; // play duration in 10 ms multiple 
520
 
  end;
521
 
 
522
 
  // phonebook support
523
 
  TelPhbEntryType = record
524
 
    phoneIndex: UInt16;    // entry's index in the phonebook, zero based
525
 
    fullName: PChar;
526
 
    fullNameSize: UInt8;   // name len including '\0' (out), name size (in)
527
 
    dialNumber: PChar;
528
 
    dialNumberSize: UInt8; // dial number len including '\0' (out), dialNumber size (in)
529
 
  end;
530
 
 
531
 
  TelPhbGetEntryCountType = record
532
 
    slots: UInt16; // number of entries in the selected phonebook
533
 
    count: UInt16; // number of name/addresse pairs present in the selected phonebook
534
 
  end;
535
 
 
536
 
  TelPhbGetEntriesType = record
537
 
    first: UInt16; // first entry physical index, zero based
538
 
    count: UInt16; // number of name/addresse pairs
539
 
    entriesP: ^TelPhbEntryType; // name/addresse pairs array
540
 
  end;
541
 
 
542
 
  TelPhbGetAvailablePhonebooksType = record
543
 
    count: UInt16;       // size of array (in), number of IDs (out)
544
 
    phonebooksP: ^UInt8; // phonebook IDs array
545
 
  end;
546
 
 
547
 
  TelPhbGetEntryMaxSizesType = record
548
 
    fullNameMaxSize: UInt8;   // name len including '\0'
549
 
    dialNumberMaxSize: UInt8; // dial number len including '\0'
550
 
  end;
551
 
 
552
 
  // sound support
553
 
  TelSndPlayKeyToneType = record
554
 
    keycode: UInt8; // what key
555
 
    type_: UInt8;   // what tone type
556
 
  end;
557
 
 
558
 
  // information support
559
 
  TelInfGetInformationType = record
560
 
    infoType: UInt8; // expected information, can be up to 2Kb (!)
561
 
    size: UInt16;    // value len including '\0' (out), value size (in)
562
 
    value: PChar;    //  returned information string
563
 
  end;
564
 
 
565
 
  // data call support
566
 
  TelDtcCallNumberType = record
567
 
    dialNumberP: PChar; // number to dial
568
 
    lineId: UInt8;      // resulting line id, sent back in event
569
 
  end;
570
 
 
571
 
  TelDtcSendDataType = record
572
 
    data: ^UInt8; // data to be sent 
573
 
    size: UInt32; // data size (in), data sent (out)
574
 
  end;
575
 
 
576
 
  TelDtcReceiveDataType = record
577
 
    data: ^UInt8;   // buffer to receive data
578
 
    size: UInt32;   // size of buffer (in), data size (out)
579
 
    timeOut: Int32; // milliseconds to wait before exiting
580
 
  end;
581
 
 
582
 
  // OEM support
583
 
  TelOemCallType = record
584
 
    OemId: UInt32;   // unique ID of OEM function set
585
 
    funcId: UInt8;   // function ID
586
 
    paramP: Pointer; // parameters block
587
 
  end;
588
 
 
589
 
implementation
590
 
 
591
 
end.
 
 
b'\\ No newline at end of file'