telephonymgrtypes.pp 22 KB

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