API Guide Home (Online version only) |

# HsPhoneSMSTypes.h File Reference

## Detailed Description

Header File for Phone Library API ---- NETWORK CATEGORY.

NOTES: All implementations of the Handspring Phone Library support a common API. This API is broken up into various categories for easier management. This file defines the SMS category. These API calls are used to interact with the wireless network.

Definition in file HsPhoneSMSTypes.h.

Include dependency graph for HsPhoneSMSTypes.h:

Go to the source code of this file.

## Data Structures

- struct Address
- struct AddrDescriptor
- struct AddressType
- struct AddressAppRecordHeader
- struct AddressAppRecord
- struct PhnSMSPrefType
- struct SMSSendOptions
- struct SmsHeader
- struct NBSNotificationEventType
- struct PhnLibLengthInfoType
- struct _PhnLibMMSServerInfo

## Defines

- #define isValidAddressAppRecordFieldEnum(x) ((x >= kName) && (x < kRecordFieldEnumCount))
- #define TextHeaderTerminator ' '
- #define phnNBSEvent 'Hnbs'
- #define isValidSMSMessageType(m) ((m >= kMTIncoming) && (m <= kMTOutgoing))
- #define isValidSMSMessageStatus(m) ((m >= kNone) && (m <= kSent))
- #define kMMSStringMaxLen 128
- #define kMMSPixPlaceMaxLen 20
- #define PhnLibMMSServerInfoSettingsMajorVersion 0x0001
- #define PhnLibMMSServerInfoSettingsMinorVersion 0x0000
- #define PhnLibMMSServerInfoVersion (((UInt32)PhnLibMMSServerInfoSettingsMajorVersion << 16) | PhnLibMMSServerInfoSettingsMinorVersion)

Identifier elements definitions

- #define NBSHeaderID 0x00
- #define NBSHeaderIDLen 0x03
- #define Addressing8bitID 0x04
- #define Addressing8bitIDLen 0x02
- #define Addressing16bitID 0x05
- #define Addressing16bitIDLen 0x04

Text Header elements

- #define NBSHeaderEscapeSeq "//"
- #define NBSTextHeader "//SCK"
- #define NBSTextHeaderLength 5

8bit addressing text header lengths, not including the //SCK

- #define Full8bitTextHeader 0x0A
- #define Minimum8bitTextHeader 0x02

16bit addressing text header lengths, not including the //SCKL

- #define Full16bitTextHeader 0x0F
- #define Minimum16bitTextHeader 0x05

NBS Port Numbers (Nokia Smart Messaging Spec)

- #define NBSPort_MimeVCard 0xE2
- #define NBSPort_MimeVCalendar 0xE4

## Typedefs

- typedef enum AddressAppRecordFieldEnum AddressAppRecordFieldEnum
- typedef UInt8 AddressAppPhoneLabelType
- typedef Address Address
- typedef AddrDescriptor AddrDescriptor
- typedef AddressType AddressType
- typedef AddressAppRecordHeader AddressAppRecordHeader
- typedef struct PhnSMSPrefType * PhnSMSPrefPtr
- typedef NBSNotificationEventType NBSNotificationEventType
- typedef UInt32 SmsCauseCode
- typedef UInt8 SmsErrorCode
- typedef _PhnLibMMSServerInfo PhnLibMMSServerInfoType

## Enumerations

- enum AddressAppRecordFieldEnum {
  kName,
  kFirstName,
  kCompany,
  kPhone1,
  kPhone2,
  kPhone3,
  kPhone4,
  kPhone5,
  kAddress,
  kCity,
  kState,
  kZipCode,
  kCountry,
  kTitle,
  kCustom1,
  kCustom2,
  kCustom3,
  kCustom4,
  kNote,
  kRecordFieldEnumCount
  }
- enum AddressAppPhoneLabel {
  addrWorkLabel,
  addrHomeLabel,
  addrFaxLabel,
  addrOtherLabel,
  addrEmailLabel,
  addrMainLabel,
  addrPagerLabel,
  addrMobileLabel,
  addrNoLabel
  }
- enum SMSMessageType {
  kMTIncoming,
  kMTOutgoing
  }
- enum SMSMessageStatus {
  kNone,
  kReceiving,
  kReceived,
  kPending,
  kSending,
  kSent
  }
- enum SMSMessageFlags {
  kGreekSymbols = 1L << 0,
  kMissingPart = 1L << 1,
  kAutoDelete = 1L << 2,
  kNotification = 1L << 3,
  kDontEncode = 1L << 4,
  kSubstitution = 1L << 5,
  kFailed = 1L << 6,
  kStatusReport = 1L << 7,
  kFreeReply = 1L << 8,
  kInternetEMail = 1L << 9,
  kTextSegments = 1L << 10,
  kSMSErrorType1 = 1L << 11,
  kSMSErrorType2 = 1L << 12,
  kSMSErrorType3 = 1L << 13,
  kSMSHighPriority = 1L << 14,
  kSMSLowPriority = 1L << 15,
  kRead = 1L << 16,
  kDeferredDelivery = 1L << 17,
  kWAPMsg = 1L << 18
  }
- enum SMSAddressFormat {
  smsFmtIgnoreKind = 0,
  smsFmtMatchKind = 8,
  smsFmtExceptKind = 16,
  smsFmtAllKinds = 24,
  smsFmtLastNameFirst = 32,
  smsFmtShortLabel = 64
  }
- enum {
  kParseError = -1,
  kDoneParsing = 0,
  kParseInformationID,
  kParseInformationLength,
  kParseInformationData
  }
- enum _SmsCauseCode {
  SmsCauseAddressVacant = 0,
  SmsCauseAddressTranslationFailure,
  SmsCauseNetworkResourceShortage,
  SmsCauseNetworkFailure,
  SmsCauseInvalidTeleserviceId,
  SmsCauseOtherNetworkProblem,
  SmsCauseOtherNetworkProblemMoreFirst = 6,
  SmsCauseOtherNetworkProblemMoreLast = 31,
  SmsCauseNoPageResponse = 32,
  SmsCauseDestinationBusy,
  SmsCauseNoAck,
  SmsCauseDestinationResourceShortage,
  SmsCauseSmsDeliveryPostponed,
  SmsCauseDestinationOutOfService,
  SmsCauseDestinationNoLongerAtThisAddress,
  SmsCauseOtherTerminalProblem,
  smsCauseOtherTerminalProblemMoreFirst = 40,
  SmsCauseOtherTerminalProblemMoreLast = 47,
  SmsCauseSmsDeliveryPostponedMoreFirst = 48,
  SmsCauseSmsDeliveryPostponedMoreLast = 63,
  SmsCauseRadioIfResourceShortage = 64,
  SmsCauseRadioIfIncompatible,
  SmsCauseOtherRadioIfProblem,
  SmsCauseOtherRadioIfProblemMoreFirst = 67,
  SmsCauseOtherRadioIfProblemMoreLast = 95,
  SmsCauseUnexpected_Parm_Size = 96,
  SmsCauseSmsOriginationDenied,
  SmsCauseSmsTerminationDenied,
  SmsCauseSupplServiceNotSupported,
  SmsCauseSmsNotSupported,
  SmsCauseReserved101,
  SmsCauseMissingExpectedParm,
  SmsCauseMissingMandatoryParm,
  SmsCauseUnrecognizedParmValue,
  SmsCauseUnexpectedParmValue,
  SmsCauseUserDataSizeError,
  SmsCauseOtherGeneralProblems,
  SmsCauseOtherGeneralProblemsMoreFirst = 108,
  SmsCauseOtherGeneralProblemsMoreLast = 255
  }
- enum _SmsErrorCode {
  SmsErrorNone,
  SmsErrorReserved,
  SmsErrorTemporary,
  SmsErrorPermanent
  }

## Define Documentation

#define Addressing16bitID 0x05

16-bit address information identifier

Definition at line 177 of file HsPhoneSMSTypes.h.

#define Addressing16bitIDLen 0x04

4 bytes... src port(2), dest port(2)

Definition at line 178 of file HsPhoneSMSTypes.h.

#define Addressing8bitID 0x04

8-bit address information identifier

Definition at line 174 of file HsPhoneSMSTypes.h.

#define Addressing8bitIDLen 0x02

2 bytes... src port(1), dest port(1)

Definition at line 175 of file HsPhoneSMSTypes.h.

#define Full16bitTextHeader 0x0F

length for full header with 16-bit addressing //SCKLddddoooorrttnn

Definition at line 205 of file HsPhoneSMSTypes.h.

#define Full8bitTextHeader 0x0A

length for full header with 8-bit addressing //SCKddoorrttnn

Definition at line 196 of file HsPhoneSMSTypes.h.

#define isValidAddressAppRecordFieldEnum | ( | x |  | ) | ((x >= kName) && (x < kRecordFieldEnumCount))

Definition at line 72 of file HsPhoneSMSTypes.h.

#define isValidSMSMessageStatus | ( | m |  | ) | ((m >= kNone) && (m <= kSent))

Definition at line 240 of file HsPhoneSMSTypes.h.

#define isValidSMSMessageType | ( | m |  | ) | ((m >= kMTIncoming) && (m <= kMTOutgoing))

Definition at line 229 of file HsPhoneSMSTypes.h.

#define kMMSPixPlaceMaxLen 20

pix place address

Definition at line 478 of file HsPhoneSMSTypes.h.

#define kMMSStringMaxLen 128

MMS info structure. URL, MML, and user agent

Definition at line 477 of file HsPhoneSMSTypes.h.

#define Minimum16bitTextHeader 0x05

length for minimum header with 16-bit addressing //SCKLdddd

Definition at line 206 of file HsPhoneSMSTypes.h.

#define Minimum8bitTextHeader 0x02

length for minimum header with 8-bit addressing //SCKdd

Definition at line 197 of file HsPhoneSMSTypes.h.

#define NBSHeaderEscapeSeq "//"

start sequence of the header

Definition at line 186 of file HsPhoneSMSTypes.h.

#define NBSHeaderID 0x00

NBS fragment header information identifier

Definition at line 171 of file HsPhoneSMSTypes.h.

#define NBSHeaderIDLen 0x03

three bytes

Definition at line 172 of file HsPhoneSMSTypes.h.

#define NBSPort_MimeVCalendar 0xE4

Definition at line 219 of file HsPhoneSMSTypes.h.

#define NBSPort_MimeVCard 0xE2

Definition at line 218 of file HsPhoneSMSTypes.h.

#define NBSTextHeader "//SCK"

beginning of an NBS text header

Definition at line 187 of file HsPhoneSMSTypes.h.

#define NBSTextHeaderLength 5

length of the header

Definition at line 188 of file HsPhoneSMSTypes.h.

#define PhnLibMMSServerInfoSettingsMajorVersion 0x0001

Definition at line 479 of file HsPhoneSMSTypes.h.

#define PhnLibMMSServerInfoSettingsMinorVersion 0x0000

Definition at line 480 of file HsPhoneSMSTypes.h.

#define PhnLibMMSServerInfoVersion (((UInt32)PhnLibMMSServerInfoSettingsMajorVersion << 16) | PhnLibMMSServerInfoSettingsMinorVersion)

Definition at line 481 of file HsPhoneSMSTypes.h.

#define phnNBSEvent 'Hnbs'

Definition at line 211 of file HsPhoneSMSTypes.h.

#define TextHeaderTerminator ' '

text based headers terminate at the next space

Definition at line 209 of file HsPhoneSMSTypes.h.

## Typedef Documentation

typedef struct AddrDescriptor AddrDescriptor

Definition at line 115 of file HsPhoneSMSTypes.h.

typedef struct Address Address

Definition at line 114 of file HsPhoneSMSTypes.h.

typedef UInt8 AddressAppPhoneLabelType

Definition at line 89 of file HsPhoneSMSTypes.h.

typedef enum AddressAppRecordFieldEnum AddressAppRecordFieldEnum

Definition at line 68 of file HsPhoneSMSTypes.h.

typedef struct AddressAppRecordHeader AddressAppRecordHeader

Definition at line 142 of file HsPhoneSMSTypes.h.

typedef struct AddressType AddressType

Definition at line 128 of file HsPhoneSMSTypes.h.

typedef struct NBSNotificationEventType NBSNotificationEventType

Definition at line 362 of file HsPhoneSMSTypes.h.

typedef struct _PhnLibMMSServerInfo PhnLibMMSServerInfoType

typedef struct PhnSMSPrefType* PhnSMSPrefPtr

typedef UInt32 SmsCauseCode

Definition at line 458 of file HsPhoneSMSTypes.h.

typedef UInt8 SmsErrorCode

Definition at line 472 of file HsPhoneSMSTypes.h.

## Enumeration Type Documentation

anonymous enum

NBS

Enumerator:

  kParseError |
  kDoneParsing |
  kParseInformationID |
  kParseInformationLength |
  kParseInformationData |

Definition at line 368 of file HsPhoneSMSTypes.h.

    00368 { kParseError = -1, kDoneParsing=0, kParseInformationID, kParseInformationLength, kParseInformationData };

enum _SmsCauseCode

SMS error codes obtained from the network in CDMA The first half of the enums are from IS-41D SMS cause codes with the exact binary values as in IS-41D. They are in the range of 0x00 to 0xFF. This does not have the cause codes from the range 0x80000 upwards as the radio doesnt support them

Enumerator:

  SmsCauseAddressVacant |
  SmsCauseAddressTranslationFailure |
  SmsCauseNetworkResourceShortage |
  SmsCauseNetworkFailure |
  SmsCauseInvalidTeleserviceId |
  SmsCauseOtherNetworkProblem |
  SmsCauseOtherNetworkProblemMoreFirst |
  SmsCauseOtherNetworkProblemMoreLast |
  SmsCauseNoPageResponse |
  SmsCauseDestinationBusy |
  SmsCauseNoAck |
  SmsCauseDestinationResourceShortage |
  SmsCauseSmsDeliveryPostponed |
  SmsCauseDestinationOutOfService |
  SmsCauseDestinationNoLongerAtThisAddress |
  SmsCauseOtherTerminalProblem |
  smsCauseOtherTerminalProblemMoreFirst |
  SmsCauseOtherTerminalProblemMoreLast |
  SmsCauseSmsDeliveryPostponedMoreFirst |
  SmsCauseSmsDeliveryPostponedMoreLast |
  SmsCauseRadioIfResourceShortage |
  SmsCauseRadioIfIncompatible |
  SmsCauseOtherRadioIfProblem |
  SmsCauseOtherRadioIfProblemMoreFirst |
  SmsCauseOtherRadioIfProblemMoreLast |
  SmsCauseUnexpected_Parm_Size |
  SmsCauseSmsOriginationDenied |
  SmsCauseSmsTerminationDenied |
  SmsCauseSupplServiceNotSupported |
  SmsCauseSmsNotSupported |
  SmsCauseReserved101 |
  SmsCauseMissingExpectedParm |
  SmsCauseMissingMandatoryParm |
  SmsCauseUnrecognizedParmValue |
  SmsCauseUnexpectedParmValue |
  SmsCauseUserDataSizeError |
  SmsCauseOtherGeneralProblems |
  SmsCauseOtherGeneralProblemsMoreFirst |
  SmsCauseOtherGeneralProblemsMoreLast |

Definition at line 393 of file HsPhoneSMSTypes.h.

    00393               {
    00394   /* A. Network Problems:
    00395   */
    00396   SmsCauseAddressVacant                     = 0,
    00397   SmsCauseAddressTranslationFailure,
    00398   SmsCauseNetworkResourceShortage,
    00399   SmsCauseNetworkFailure,
    00400   SmsCauseInvalidTeleserviceId,
    00401   SmsCauseOtherNetworkProblem,
    00402   SmsCauseOtherNetworkProblemMoreFirst   = 6,
    00403   /* all values within this range are treated as
    00404      OtherNetworkProblem
    00405   */
    00406   SmsCauseOtherNetworkProblemMoreLast    = 31,
    00407
    00408   /* B. Terminal Problems:
    00409   */
    00410   SmsCauseNoPageResponse                   = 32,
    00411   SmsCauseDestinationBusy,
    00412   SmsCauseNoAck,
    00413   SmsCauseDestinationResourceShortage,
    00414   SmsCauseSmsDeliveryPostponed,
    00415   SmsCauseDestinationOutOfService,
    00416   SmsCauseDestinationNoLongerAtThisAddress,
    00417   SmsCauseOtherTerminalProblem,
    00418   smsCauseOtherTerminalProblemMoreFirst  = 40,
    00419   /* all values within this range are treated as
    00420      OtherTerminalProblem
    00421   */
    00422   SmsCauseOtherTerminalProblemMoreLast   = 47,
    00423   SmsCauseSmsDeliveryPostponedMoreFirst  = 48,
    00424   SmsCauseSmsDeliveryPostponedMoreLast   = 63,
    00425
    00426   /* C. Radio Interface Problems:
    00427   */
    00428   SmsCauseRadioIfResourceShortage         = 64,
    00429   SmsCauseRadioIfIncompatible,
    00430   SmsCauseOtherRadioIfProblem,
    00431   SmsCauseOtherRadioIfProblemMoreFirst  = 67,
    00432   /* all values within this range are treated as
    00433      OtherRadioIfProblem
    00434   */
    00435   SmsCauseOtherRadioIfProblemMoreLast   = 95,
    00436
    00437   /* D. General Problems:
    00438   */
    00439   SmsCauseUnexpected_Parm_Size               = 96,
    00440   SmsCauseSmsOriginationDenied,
    00441   SmsCauseSmsTerminationDenied,
    00442   SmsCauseSupplServiceNotSupported,
    00443   SmsCauseSmsNotSupported,
    00444   SmsCauseReserved101,
    00445   SmsCauseMissingExpectedParm,
    00446   SmsCauseMissingMandatoryParm,
    00447   SmsCauseUnrecognizedParmValue,
    00448   SmsCauseUnexpectedParmValue,
    00449   SmsCauseUserDataSizeError,
    00450   SmsCauseOtherGeneralProblems,
    00451   SmsCauseOtherGeneralProblemsMoreFirst  = 108,
    00452   /* all values within this range are treated as
    00453      OtherGeneralProblems
    00454   */
    00455   SmsCauseOtherGeneralProblemsMoreLast   = 255
    00456 }_SmsCauseCode;

enum _SmsErrorCode

SMS error codes types

Enumerator:

  SmsErrorNone |
  SmsErrorReserved |
  SmsErrorTemporary |
  SmsErrorPermanent |

Definition at line 464 of file HsPhoneSMSTypes.h.

    00465 {
    00466   SmsErrorNone,
    00467   SmsErrorReserved,
    00468   SmsErrorTemporary,
    00469   SmsErrorPermanent
    00470 }_SmsErrorCode;

enum AddressAppPhoneLabel

Item description here

Enumerator:

  addrWorkLabel |
  addrHomeLabel |
  addrFaxLabel |
  addrOtherLabel |
  addrEmailLabel |
  addrMainLabel |
  addrPagerLabel |
  addrMobileLabel |
  addrNoLabel |

Definition at line 77 of file HsPhoneSMSTypes.h.

    00077               {
    00078     addrWorkLabel,      /**<        */
    00079     addrHomeLabel,      /**<        */
    00080     addrFaxLabel,       /**<        */
    00081     addrOtherLabel,     /**<        */
    00082     addrEmailLabel,     /**<        */
    00083     addrMainLabel,      /**<        */
    00084     addrPagerLabel,     /**<        */
    00085     addrMobileLabel,    /**<        */
    00086     addrNoLabel     /**<        */
    00087 }AddressAppPhoneLabel;

enum AddressAppRecordFieldEnum

Palm OS address book functions

Enumerator:

  kName |
  kFirstName |
  kCompany |
  kPhone1 |
  kPhone2 |
  kPhone3 |
  kPhone4 |
  kPhone5 |
  kAddress |
  kCity |
  kState |
  kZipCode |
  kCountry |
  kTitle |
  kCustom1 |
  kCustom2 |
  kCustom3 |
  kCustom4 |
  kNote |
  kRecordFieldEnumCount | must be the last field

Definition at line 44 of file HsPhoneSMSTypes.h.

    00044                                {
    00045     kName,          /**<        */
    00046     kFirstName,         /**<        */
    00047     kCompany,       /**<        */
    00048     kPhone1,        /**<        */
    00049     kPhone2,        /**<        */
    00050     kPhone3,        /**<        */
    00051     kPhone4,        /**<        */
    00052     kPhone5,        /**<        */
    00053     kAddress,       /**<        */
    00054     kCity,          /**<        */
    00055     kState,         /**<        */
    00056     kZipCode,       /**<        */
    00057     kCountry,       /**<        */
    00058     kTitle,         /**<        */
    00059     kCustom1,       /**<        */
    00060     kCustom2,       /**<        */
    00061     kCustom3,       /**<        */
    00062     kCustom4,       /**<        */
    00063     kNote,          /**<        */
    00064     kRecordFieldEnumCount /**< must be the last field */
    00065 };

enum SMSAddressFormat

Enumerator:

  smsFmtIgnoreKind |
  smsFmtMatchKind |
  smsFmtExceptKind |
  smsFmtAllKinds |
  smsFmtLastNameFirst |
  smsFmtShortLabel |

Definition at line 283 of file HsPhoneSMSTypes.h.

    00283               {
    00284   smsFmtIgnoreKind = 0,     /**<        */
    00285   smsFmtMatchKind = 8,      /**<        */
    00286   smsFmtExceptKind = 16,    /**<        */
    00287   smsFmtAllKinds = 24,      /**<        */
    00288   smsFmtLastNameFirst = 32, /**<        */
    00289   smsFmtShortLabel = 64     /**<        */
    00290 }SMSAddressFormat;

enum SMSMessageFlags

Enumerator:

  kGreekSymbols |
  kMissingPart |
  kAutoDelete |
  kNotification |
  kDontEncode |
  kSubstitution |
  kFailed |
  kStatusReport |
  kFreeReply |
  kInternetEMail |
  kTextSegments |
  kSMSErrorType1 |
  kSMSErrorType2 |
  kSMSErrorType3 |
  kSMSHighPriority |
  kSMSLowPriority |
  kRead |
  kDeferredDelivery |
  kWAPMsg |

Definition at line 257 of file HsPhoneSMSTypes.h.

    00257               {
    00258   kGreekSymbols = 1L << 0,      /**<        */
    00259   kMissingPart =    1L << 1,    /**<        */
    00260   kAutoDelete = 1L << 2,        /**<        */
    00261   kNotification = 1L << 3,      /**<        */
    00262   kDontEncode = 1L << 4,        /**<        */
    00263   kSubstitution = 1L << 5,      /**<        */
    00264   kFailed =     1L << 6,    /**<        */
    00265   kStatusReport = 1L << 7,      /**<        */
    00266   kFreeReply =  1L << 8,        /**<        */
    00267   kInternetEMail =1L << 9,      /**<        */
    00268   kTextSegments =   1L << 10,   /**<        */
    00269   kSMSErrorType1 = 1L << 11,        /**<        */
    00270   kSMSErrorType2 = 1L << 12,        /**<        */
    00271   kSMSErrorType3 = 1L << 13,        /**<        */
    00272   kSMSHighPriority = 1L << 14,      /**<        */
    00273   kSMSLowPriority = 1L << 15,       /**<        */
    00274         // application-level flags
    00275   kRead = 1L << 16,         /**<        */
    00276   kDeferredDelivery = 1L << 17,     /**<        */
    00277   kWAPMsg = 1L << 18            /**<        */
    00278 }SMSMessageFlags;

enum SMSMessageStatus

Item description here

Enumerator:

  kNone |
  kReceiving |
  kReceived |
  kPending |
  kSending |
  kSent |

Definition at line 234 of file HsPhoneSMSTypes.h.

    00234               {
    00235   kNone,            /**<        */
    00236   kReceiving, kReceived,    /**<        */
    00237   kPending, kSending, kSent /**<        */
    00238 }SMSMessageStatus;

enum SMSMessageType

SMS stuff

Enumerator:

  kMTIncoming |
  kMTOutgoing |

Definition at line 225 of file HsPhoneSMSTypes.h.

    00225              {
    00226   kMTIncoming, kMTOutgoing      /**<        */
    00227 } SMSMessageType;

Top | Palm Developer Network © 2004-2008, Palm, Inc. All rights reserved. Generated on Fri Jun 13 10:07:27 2008 for Palm API Guide