1
(******************************************************************************
3
* Copyright (c) 1999-2000 Palm, Inc. or its subsidiaries.
6
* File: TelephonyMgrTypes.h
8
* Release: Palm OS SDK 4.0 (63220)
11
* This is the header file declaring the data types used by the
12
* Telephony Manager for Palm OS Wireless Telephony Add-on.
15
* Created by Gilles Fabre
16
* 08/02/99 gfa Initial version.
17
* 05/02/00 gfa Shared lib, 2nd API version.
19
*****************************************************************************)
21
unit telephonymgrtypes;
25
uses palmos, errorbase, event_;
28
telErrorClass = appErrorClass + $100; // DOLATER: remove this constant
29
kTelMaxPhoneNumberLen = 30;
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);
54
kTelGetCallStateMessage = 0;
56
kTelSendCommandStringMessage = Succ(kTelGetCallStateMessage);
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);
68
kTelStyGetAuthenticationStateMessage = Succ(kTelNwkGetLocationMessage );
69
kTelStyEnterAuthenticationCodeMessage = Succ(kTelStyGetAuthenticationStateMessage);
70
kTelStyChangeAuthenticationCodeMessage = Succ(kTelStyEnterAuthenticationCodeMessage);
72
kTelPowGetPowerLevelMessage = Succ(kTelStyChangeAuthenticationCodeMessage);
73
kTelPowGetBatteryStatusMessage = Succ(kTelPowGetPowerLevelMessage);
74
kTelPowSetPhonePowerMessage = Succ(kTelPowGetBatteryStatusMessage);
76
kTelCfgSetSmsCenterMessage = Succ(kTelPowSetPhonePowerMessage);
77
kTelCfgGetSmsCenterMessage = Succ(kTelCfgSetSmsCenterMessage);
78
kTelCfgGetPhoneNumberMessage = Succ(kTelCfgGetSmsCenterMessage);
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);
95
kTelEmcGetNumberCountMessage = Succ(kTelSmsGetDataMaxSizeMessage);
96
kTelEmcGetNumberMessage = Succ(kTelEmcGetNumberCountMessage);
97
kTelEmcSetNumberMessage = Succ(kTelEmcGetNumberMessage);
98
kTelEmcSelectNumberMessage = Succ(kTelEmcSetNumberMessage);
99
kTelEmcCallMessage = Succ(kTelEmcSelectNumberMessage);
100
kTelEmcCloseLineMessage = Succ(kTelEmcCallMessage);
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);
116
kTelDtcCallNumberMessage = Succ(kTelSpcPlayDTMFMessage);
117
kTelDtcCloseLineMessage = Succ(kTelDtcCallNumberMessage);
118
kTelDtcSendDataMessage = Succ(kTelDtcCloseLineMessage);
119
kTelDtcReceiveDataMessage = Succ(kTelDtcSendDataMessage);
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);
131
kTelSndPlayKeyToneMessage = Succ(kTelPhbGetEntryMaxSizesMessage);
132
kTelSndStopKeyToneMessage = Succ(kTelSndPlayKeyToneMessage);
133
kTelSndMuteMessage = Succ(kTelSndStopKeyToneMessage);
135
kTelUrqSmsGetUniquePartIdMessage = Succ(kTelSndMuteMessage);
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
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
151
kTelInfGetInformationMessage = Succ(kTelUrqStopTTMessage);
153
kTelOemCallMessage = Succ(kTelInfGetInformationMessage); // oem calls
155
kTelLastMessage = kTelOemCallMessage;
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
171
TelEventType = record
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
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)
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
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
204
TelNwkGetNetworkNameType = record
205
id: UInt32; // network ID
206
value: PChar; // name
207
size: UInt16; // size of name (in), name len including '\0' (out)
210
TelNwkGetNetworksType = record
211
etworkIdP: ^UInt32; // network IDs array
212
size: UInt8; // size of networkIdP (in), number of network IDs (out)
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)
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
229
TelCfgGetSmsCenterType = record
230
size: UInt8; // size of value (in), SMS dial number len including '\0' (out)
231
value: PChar; // SMS center dial number
235
TelCfgGetPhoneNumberType = record
236
size: UInt8; // size of value (in), phone dial number len including '\0' (out)
237
value: PChar; // phone dial number
242
TelSmsDateTimeType = record
244
dateTime: UInt32; // relative time from now, or Palm absolute time
248
TelSmsMultiPartExtensionType = record
255
TelSmsNbsExtensionType = record
256
destPort: UInt16; // destination NBS port
257
srcPort: UInt16; // source NBS port
260
TelSmsUserExtensionType = record
261
extHeader: ^UInt8; // user defined extended header
262
extHeaderSize: UInt8;
265
TelSmsExtensionType = record
266
extensionTypeId: UInt8; // what does this extension describe?
269
1: (mp: TelSmsMultiPartExtensionType); // multi-part SMS extension
270
2: (nbs: TelSmsNbsExtensionType); // NBS SMS extension
271
3: (user: TelSmsUserExtensionType); // User Defined SMS extension
274
// Advanced parameters for GSM
275
TelSmsSubmitAdvancedGSMType = record
276
protocolId: UInt16; // Reserved - not supported (Fax, paging, . . .) GSM only
278
rejectDuplicatedRequest: Boolean; // GSM - Network must reject msg if the same exists
279
replyPath: Boolean; // GSM - use reply specified path
281
serviceCenterNumber: PChar; // SMS service center number
282
serviceCenterNumberSize: UInt8; // Used for decoding only
285
// Advanced parameters for CDMA
286
TelSmsSubmitAdvancedCDMAType = record
287
manualAckRequest: Boolean;
288
messageType: UInt8; // Message Type
290
deferredDate: TelSmsDateTimeType; // GSM & CDMA only Absolute or relative
292
priority: UInt8; // CDMA & TDMA only
293
privacy: UInt8; // CDMA & TDMA only
295
alertOnDeliveryRequest: Boolean; // CDMA & TDMA(?)
297
callbackNumber: PChar; // CDMA & TDMA only - address to reply
298
callbackNumberSize: UInt8;
301
// Advanced parameters for TDMA - currently identical to CDMA
302
TelSmsSubmitAdvancedTDMAType = TelSmsSubmitAdvancedCDMAType;
304
TelSmsSubmitMessageAdvancedParams = record
306
1: (advancedGSM: TelSmsSubmitAdvancedGSMType);
307
2: (advancedCDMA: TelSmsSubmitAdvancedCDMAType);
308
3: (advancedTDMA: TelSmsSubmitAdvancedTDMAType);
311
// Submit message structure
312
TelSmsSubmitMessageType = record
313
version: UInt16; // SMS API version
315
networkDeliveryRequest: Boolean; // All - Ask a network delivery report / status report
317
destinationAddress: PChar; // length : GSM 12bytes, CDMA up to 2x64 bytes
318
destinationAddressSize: UInt8; // Used for decoding only
320
dataSize: UInt16; // Length of data being sent
322
dataCodingScheme: UInt8;
324
validityPeriod: TelSmsDateTimeType; // All - Absolute or relative
326
// Advanced parameters
327
standardType: UInt8; // Indicates the type of advanced parameters
329
advancedParams: TelSmsSubmitMessageAdvancedParams;
331
extensionsCount: UInt8; // how many extensions in this message
332
extensionsP: ^TelSmsExtensionType; // SMS extensions array: NBS, Multi-part, etc.
335
// Submit message structure parameter
336
TelSmsSendMessageType = record
337
messageId: UInt32; // Output parameter, filled by the telephony implementation
338
message: TelSmsSubmitMessageType;
341
// Submitted message structure parameter
342
TelSmsSubmittedMessageType = record
343
index: UInt16; // Message's index on the phone
344
message: TelSmsSubmitMessageType;
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
353
dataSize: UInt16; // Length of data being sent
355
dataCodingScheme: UInt8;
357
responseCode: UInt8; // Value is network dependant
360
TelSmsDeliveryAdvancedGSMType = record
361
protocolId: UInt16; // reserved - not supported - GSM only
363
replyPath: Boolean; // GSM - must use specified reply path
364
serviceCenterNumber: PChar;
365
serviceCenterNumberSize: UInt8;
368
TelSmsDeliveryAdvancedCDMAType = record
369
messageType: UInt8; // Delivery Message Type
371
validityPeriod: TelSmsDateTimeType; // CDMA & TDMA only
373
priority: UInt8; // CDMA & TDMA only
374
privacy: UInt8; // CDMA & TDMA only
376
alertOnDeliveryRequest: Boolean; // CDMA & TDMA only
377
manualAckRequest: Boolean; // CDMA
379
voiceMessageNumber: UInt8; // CDMA, TDMA, GSM
381
callbackNumberSize: UInt8;
382
callbackNumberAddress: PChar; // Store callback address
384
languageIndicator: UInt8; // reserved - not supported - CDMA only
387
TelSmsDeliveryAdvancedTDMAType = record
388
messageType: UInt8; // Delivery Message Type
390
validityPeriod: TelSmsDateTimeType; // CDMA & TDMA only
392
priority: UInt8; // CDMA & TDMA only
393
privacy: UInt8; // CDMA & TDMA only
395
manualAckRequest: Boolean; // CDMA
397
alertOnDeliveryRequest: Boolean; // CDMA & TDMA only
398
voiceMessageNumber: UInt8; // CDMA, TDMA, GSM
400
callbackNumberSize: UInt8;
401
callbackNumberAddress: PChar; // Store callback address
404
TelSmsDeliveryMessageAdvancedParams = record
406
1: (advancedGSM: TelSmsDeliveryAdvancedGSMType);
407
2: (advancedCDMA: TelSmsDeliveryAdvancedCDMAType);
408
3: (advancedTDMA: TelSmsDeliveryAdvancedTDMAType);
411
// Delivery message structure
412
TelSmsDeliveryMessageType = record
414
version: UInt16; // SMS API version
415
index: UInt16; // SMS index on the phone storage
417
messageIdentifier: UInt32;
419
timeStamp: TelSmsDateTimeType;
421
dataSize: UInt16; // Length of data being sent
423
dataCodingScheme: UInt8; // enum All
425
originatingAddressSize: UInt8;
426
originatingAddress: PChar; // Store originating address (delivery message)
428
otherToReceive: Boolean; // GSM & CDMA & TDMA(?)
430
reportDeliveryIndicator: Boolean; // All
432
// Advanced parameters
434
advancedParams: TelSmsDeliveryMessageAdvancedParams;
436
extensionsCount: UInt8; // how many extensions in this message
437
extensionsP: ^TelSmsExtensionType; // SMS extensions array: NBS, Multi-part, etc.
440
// Report message structure
441
TelSmsReportType = record
443
index: UInt16; // SMS index on the phone storage
444
reportType: UInt8; // Delivery report type
447
dataSize: UInt16; // Length of data being sent
449
dataCodingScheme: UInt8;
451
originatingAddress: PChar; // Store originating address
452
originatingAddressSize: UInt8;
456
timeStamp: TelSmsDateTimeType; // Time when SC received the corresponding sent message
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
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
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
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
487
// delete message selected storage
488
TelSmsDeleteMessageType = record
489
messageType: UInt8; // report, submitted, etc.
490
index: UInt16; // physical index in storage, zero based
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
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
506
TelEmcSetNumberType = record
507
index: UInt8; // EMC number index, zero based
508
value: PChar; // EMC dial number
511
// speech call support
512
TelSpcGetCallerNumberType = record
513
size: UInt8; // dial number len including '\0' (out), value size (in)
514
value: PChar; // dial number
517
TelSpcPlayDTMFType = record
518
keyTone: UInt8; // keytone to be played
519
duration: UInt32; // play duration in 10 ms multiple
523
TelPhbEntryType = record
524
phoneIndex: UInt16; // entry's index in the phonebook, zero based
526
fullNameSize: UInt8; // name len including '\0' (out), name size (in)
528
dialNumberSize: UInt8; // dial number len including '\0' (out), dialNumber size (in)
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
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
542
TelPhbGetAvailablePhonebooksType = record
543
count: UInt16; // size of array (in), number of IDs (out)
544
phonebooksP: ^UInt8; // phonebook IDs array
547
TelPhbGetEntryMaxSizesType = record
548
fullNameMaxSize: UInt8; // name len including '\0'
549
dialNumberMaxSize: UInt8; // dial number len including '\0'
553
TelSndPlayKeyToneType = record
554
keycode: UInt8; // what key
555
type_: UInt8; // what tone type
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
566
TelDtcCallNumberType = record
567
dialNumberP: PChar; // number to dial
568
lineId: UInt8; // resulting line id, sent back in event
571
TelDtcSendDataType = record
572
data: ^UInt8; // data to be sent
573
size: UInt32; // data size (in), data sent (out)
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
583
TelOemCallType = record
584
OemId: UInt32; // unique ID of OEM function set
585
funcId: UInt8; // function ID
586
paramP: Pointer; // parameters block
b'\\ No newline at end of file'