|
|
Log In | Not a Member? |
Contact ADC |
|
ADC Home > Reference Library > Reference > Hardware & Drivers > Bluetooth > Bluetooth Framework Reference
|
OBEX.h |
| Include Path: | <IOBluetooth/OBEX.h> |
| Path: | /System/Library/Frameworks/IOBluetooth.framework/Versions/A/Headers/OBEX.h |
| See Also: |
This header contains generic OBEX constants, structs, and C API used for all OBEX communication over any transport.
For specific transport API, see that transport's C API. For example, if you wanted to know more about the
Bluetooth OBEX implementation, see the documentation for OBEXBluetooth.h.
This file also contains API that will assist in the construction and deconstruction of OBEX headers to
and from raw bytes, as well as the creation of vCards and vEvents.
For more information about accessing Bluetooth devices, see Working With Bluetooth Devices.
OBEXAddApplicationParameterHeader |
Add an bytes representing a connection ID to a dictionary of OBEX headers.
OBEXError OBEXAddApplicationParameterHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
Application Request/Response Parameter headers - OBEX Spec, 2.2.11: Byte Sequence
OBEXAddAuthorizationChallengeHeader |
Add an authorization challenge header to a dictionary of OBEXheaders.
OBEXError OBEXAddAuthorizationChallengeHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
Authorization Challenge header - OBEX Spec, 2.2.13: Authorization Challenge.
OBEXAddAuthorizationResponseHeader |
Add an authorization Response header to a dictionary of OBEXheaders.
OBEXError OBEXAddAuthorizationResponseHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
Authorization Response header - OBEX Spec, 2.2.14: Authorization Response.
OBEXAddBodyHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddBodyHeader( const void *inHeaderData, uint32_t inHeaderDataLength, Boolean isEndOfBody, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthisEndOfBodydictRefError code, kOBEXSuccess (0) if success.
Body,EndOfBody headers - OBEX Spec, 2.2.9: Byte Sequence
OBEXAddByteSequenceHeader |
Add an arbitrary byte sequence header to a dictionary of OBEXheaders.
OBEXError OBEXAddByteSequenceHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
Byte Sequence header - OBEX Spec, 2.2.5: Byte sequence.
OBEXAddConnectionIDHeader |
Add an bytes representing a connection ID to a dictionary of OBEX headers.
OBEXError OBEXAddConnectionIDHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
ConnectionID headers - OBEX Spec, 2.2.10: Byte Sequence
*** IMPORTANT NOTE: In bluetooth 1.0, using this function will allow you to pass in any value.
You should not pass more than 4 bytes ever. In later releases, if the length
passed is not 4, a kOBEXBadArgumentError error will be returned. ***
OBEXAddCountHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddCountHeader( uint32_t count, CFMutableDictionaryRef dictRef );
countdictRefError code, kOBEXSuccess (0) if success.
Count header - OBEX Spec, 2.2.1: 4 byte unsigned integer
OBEXAddDescriptionHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddDescriptionHeader( CFStringRef description, CFMutableDictionaryRef dictRef );
descriptiondictRefError code, kOBEXSuccess (0) if success.
Description header - OBEX Spec, 2.2.6: (2-byte) Null terminated unicode string.
OBEXAddHTTPHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddHTTPHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
HTTP header - OBEX Spec, 2.2.8: Byte Sequence
OBEXAddLengthHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddLengthHeader( uint32_t length, CFMutableDictionaryRef dictRef );
lengthdictRefError code, kOBEXSuccess (0) if success.
Length header - OBEX Spec, 2.2.4: 4 byte unsigned integer
OBEXAddNameHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddNameHeader( CFStringRef name, CFMutableDictionaryRef dictRef );
namedictRefError code, kOBEXSuccess (0) if success.
Name header - OBEX Spec, 2.2.2: (2-byte) Null terminated unicode string.
OBEXAddObjectClassHeader |
Add an object class header to a dictionary of OBEXheaders.
OBEXError OBEXAddObjectClassHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
Object Class header - OBEX Spec, 2.2.15: Byte sequence.
OBEXAddTargetHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddTargetHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
Target header - OBEX Spec, 2.2.7: Byte Sequence
OBEXAddTime4ByteHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddTime4ByteHeader( uint32_t time4Byte, CFMutableDictionaryRef dictRef );
time4BytedictRefError code, kOBEXSuccess (0) if success.
Time4Byte headers - OBEX Spec, 2.2.5: 4 Bytes
OBEXAddTimeISOHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddTimeISOHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthError code, kOBEXSuccess (0) if success.
TimeISO header - OBEX Spec, 2.2.5: Byte Sequence
OBEXAddTypeHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddTypeHeader( CFStringRef type, CFMutableDictionaryRef dictRef );
descriptiondictRefError code, kOBEXSuccess (0) if success.
Type header - OBEX Spec, 2.2.3: 1-byte Null terminated ascii string.
OBEXAddUserDefinedHeader |
Add a user-defined custom header to a dictionary of OBEXheaders.
OBEXError OBEXAddUserDefinedHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
User Defined header - OBEX Spec, 2.2.20: User Defined Headers.
OBEXAddWhoHeader |
Add a CFStringRef to a dictionary of OBEXheaders.
OBEXError OBEXAddWhoHeader( const void *inHeaderData, uint32_t inHeaderDataLength, CFMutableDictionaryRef dictRef );
inHeaderDatainHeaderDataLengthdictRefError code, kOBEXSuccess (0) if success.
Who headers - OBEX Spec, 2.2.10: Byte Sequence
OBEXCreateVCard |
Creates a formatted vCard, ready to be sent over OBEX or whatever.
CFDataRef OBEXCreateVCard( const void *inFirstName, uint32_t inFirstNameLength, const void *inLastName, uint32_t inLastNameLength, const void *inFriendlyName, uint32_t inFriendlyNameLength, const void *inNameCharset, uint32_t inNameCharsetLength, const void *inHomePhone, uint32_t inHomePhoneLength, const void *inWorkPhone, uint32_t inWorkPhoneLength, const void *inCellPhone, uint32_t inCellPhoneLength, const void *inFaxPhone, uint32_t inFaxPhoneLength, const void *inEMailAddress, uint32_t inEMailAddressLength, const void *inEMailAddressCharset, uint32_t inEMailAddressCharsetLength, const void *inOrganization, uint32_t inOrganizationLength, const void *inOrganizationCharset, uint32_t inOrganizationCharsetLength, const void *inTitle, uint32_t inTitleLength, const void *inTitleCharset, uint32_t inTitleCharsetLength );
inNameCharsetinNameCharsetLengthinFirstNameinFirstNameLengthinLastNameinLastNameLengthinFriendlyNameinFriendlyNameLengthinHomePhoneinHomePhoneLengthinWorkPhoneinWorkPhoneLengthinCellPhoneinCellPhoneLengthinFaxPhoneinFaxPhoneLengthinEMailAddressinEMailAddressLengthinEMailAddressCharsetinEMailAddressCharsetLengthinOrganizationinOrganizationLengthinOrganizationCharsetinOrganizationCharsetLengthinTitleinTitleLengthinOrganizationCharsetinOrganizationCharsetLengthAn CFDataRef containing the compiled data. nil if we failed.
All parameters are optional. The CFDataRef returned to you is NOT retained. Retain it if you want to keep it.
OBEXCreateVEvent |
Creates a formatted vEvent, ready to be sent over OBEX or whatever. You probably will embed the output in a vCalendar event.
CFDataRef OBEXCreateVEvent( const char *inCharset, uint32_t inCharsetLength, const char *inEncoding, uint32_t inEncodingLength, const char *inEventStartDate, uint32_t inEventStartDateLength, const char *inEventEndDate, uint32_t inEventEndDateLength, const char *inAlarmDate, uint32_t inAlarmDateLength, const char *inCategory, uint32_t inCategoryLength, const char *inSummary, uint32_t inSummaryLength, const char *inLocation, uint32_t inLocationLength, const char *inXIRMCLUID, uint32_t inXIRMCLUIDLength );
inCharsetinCharsetLengthinEncodinginCharsetLengthinEventStartDateinCharsetLengthinEventEndDateinCharsetLengthinAlarmDateinCharsetLengthinCategoryinCharsetLengthinSummaryinCharsetLengthinLocationinCharsetLengthinXIRMCLUIDinCharsetLengthA valid CFDataRef - nil if we failed.
All parameters are optional. The CFDataRef returned to you is NOT retained. Retain it if you want to keep it. Be aware that certain devices such as Ericsson phones MUST have certain fields, such as a start and end date.
OBEXGetHeaders |
Take a data blob and looks for OBEX headers.
CFDictionaryRef OBEXGetHeaders( const void *inData, size_t inDataSize );
inDatainDataSizeA CFDictionary with the headers found in the data blob inside it.
You should use this when your callback for PUTs, GETs, etc. give you a data chunk and a size. Pass these params to this function and you will receive a dictionary back full of the parse headers. You can use the CFDictionary calls to get objects out of it, based on the header keys defined above. You are responsible for releasing the CFDictionary returned to you. Example usage:
CFDictionaryRef dictionary = OBEXGetHeaders( data, dataLength );
if( dictionary )
{
if( CFDictionaryGetCountOfKey( dictionary, kOBEXHeaderIDKeyName ) > 0 )
{
CFStringRef theStringRef;
theStringRef = (CFStringRef) CFDictionaryGetValue( dictionary, kOBEXHeaderIDKeyName );
if( theStringRef )
{
// Display it, use it as a filename, whatever.
}
}
if( CFDictionaryGetCountOfKey( dictionary, kOBEXHeaderIDKeyConnectionID ) > 0 )
{
CFDataRef theDataRef;
theDataRef = (CFDataRef) CFDictionaryGetValue( dictionary, kOBEXHeaderIDKeyConnectionID );
if( theDataRef )
{
// now we have data representing the connection ID.
}
}
CFRelease( dictionary );
}
OBEXHeadersToBytes |
Converts a dictionary of headers to a data pointer, from which you can extract as bytes and pass to the OBEX command/response functions.
CFMutableDataRef OBEXHeadersToBytes( CFDictionaryRef dictionaryOfHeaders );
dictionaryOfHeadersMutable data ref containing the bytes of all headers.
Returns a CFMutableDataRef containing all the header data found in the dictionary, formatted according to the OBEX/IrMC spec. YOU MUST RELEASE IT when you are finished with it (ie. when the OBEX request is complete). All OBEX-specification defined headers are supported and should be returned to the dictionary. Use the keys defined above to get headers from dictionary. Example usage:
Example usage:
CFMutableDictionaryRef dictionary; CFMutableDataRef mGetHeadersDataRef; uint8_t* headerDataPtr; uint32_t headerDataLength; dictionary = CFDictionaryCreateMutable( kCFAllocatorDefault, 0, &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks ); // Package up desired headers.
OBEXAddTypeHeader( CFSTR( "text/x-vCard" ), dictionary );
mGetHeadersDataRef = OBEXHeadersToBytes( dictionary );
headerDataPtr = CFDataGetBytePtr( mGetHeadersDataRef ); headerDataLength = CFDataGetLength( mGetHeadersDataRef ); // From here I can pass it to any OBEX command, such as OBEXPut...
OBEXSessionAbort |
Send an abort command to a remote OBEX server.
OBEXError OBEXSessionAbort( OBEXSessionRef inSessionRef, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefcon );
inSessionRefinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionAbortResponse |
Send a response to a abort command to the remote client.
OBEXError OBEXSessionAbortResponse( OBEXSessionRef inSessionRef, OBEXOpCode inResponseOpCode, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinResponseOpCodeinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionConnect |
Establishes an OBEX connection to the target device for the session. If a transport connection is not open yet, it will be opened if possible.
OBEXError OBEXSessionConnect( OBEXSessionRef inSessionRef, OBEXFlags inFlags, OBEXMaxPacketLength inMaxPacketLength, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinFlagsinMaxPacketLengthinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback parameter will result in an error. If you have already established an OBEX connection and you call this again you will get an 'kOBEXSessionAlreadyConnectedError' as a result.
OBEXSessionConnectResponse |
Send a response to a connect command to the remote client.
OBEXError OBEXSessionConnectResponse( OBEXSessionRef inSessionRef, OBEXOpCode inResponseOpCode, OBEXFlags inFlags, OBEXMaxPacketLength inMaxPacketLength, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinResponseOpCodeinFlagsinConstantsinMaxPacketLengthinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionDelete |
Destroy an OBEX session. If connections are open, they will (eventually) be terminated for you.
OBEXError OBEXSessionDelete( OBEXSessionRef inSessionRef );
inSessionRefAn error code value. 0 if successful.
OBEXSessionDisconnect |
Send a disconnect command to a remote OBEX server.
OBEXError OBEXSessionDisconnect( OBEXSessionRef inSessionRef, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionDisconnectResponse |
Send a response to a disconnect command to the remote client.
OBEXError OBEXSessionDisconnectResponse( OBEXSessionRef inSessionRef, OBEXOpCode inResponseOpCode, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinResponseOpCodeinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionGet |
Send a get command to a remote OBEX server.
OBEXError OBEXSessionGet( OBEXSessionRef inSessionRef, Boolean inIsFinalChunk, void *inHeadersData, size_t inHeadersDataLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinIsFinalChunkinHeadersDatainHeadersDataLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionGetAvailableCommandPayloadLength |
Gets space available for your data for a particular command you are trying to send.
OBEXError OBEXSessionGetAvailableCommandPayloadLength( OBEXSessionRef inSessionRef, OBEXOpCode inOpCode, OBEXMaxPacketLength *outLength );
inSessionRefinOpCodeoutLengthAn error code value. 0 if successful.
The OBEXSession takes care of packaging OBEX opcodes and other information into the proper packet format, allowing you to focus on sending the proper OBEX headers in your commands and command responses. This formatting and datas requires a small bit of information that varies depending on what command or response you are sending. Thus, you should call this function to find out how much space will be left for your headers before you send the command, allowing you to properly chop up your headers before sending them. This will guarantee that (a) you use up all the available space in a packet and (b) that you do not get an error trying to send too much information at once.
OBEXSessionGetAvailableCommandResponsePayloadLength |
Gets space available for your data for a particular command response you are trying to send.
OBEXError OBEXSessionGetAvailableCommandResponsePayloadLength( OBEXSessionRef inSessionRef, OBEXOpCode inOpCode, OBEXMaxPacketLength *outLength );
inSessionRefinOpCodeoutLengthAn error code value. 0 if successful.
The OBEXSession takes care of packaging OBEX opcodes and other information into the proper packet format, allowing you to focus on sending the proper OBEX headers in your commands and command responses. This formatting and datas requires a small bit of information that varies depending on what command or response you are sending. Thus, you should call this function to find out how much space will be left for your headers before you send the command, allowing you to properly chop up your headers before sending them. This will guarantee that (a) you use up all the available space in a packet and (b) that you do not get an error trying to send too much information at once.
OBEXSessionGetMaxPacketLength |
Gets current max packet length.
OBEXError OBEXSessionGetMaxPacketLength( OBEXSessionRef inSessionRef, OBEXMaxPacketLength *outLength );
inSessionRefoutLengthAn error code value. 0 if successful.
This value *could* change before and after a connect command has been sent or a connect command response has been received, since the recipient could negotiate a lower max packet size.
OBEXSessionGetResponse |
Send a response to a get command to the remote client.
OBEXError OBEXSessionGetResponse( OBEXSessionRef inSessionRef, OBEXOpCode inResponseOpCode, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinResponseOpCodeinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionHasOpenOBEXConnection |
Allows you to test the session for an open OBEX connection for a particular session.
OBEXError OBEXSessionHasOpenOBEXConnection( OBEXSessionRef inSessionRef, Boolean *outIsConnected );
inSessionRefoutIsConnectedAn error code value. 0 if successful.
This method will return true only if (a) you are transport-connected to another OBEX target and (b) an OBEX Connect command has been issued and received successfully.
OBEXSessionPut |
Send a put command to a remote OBEX server.
OBEXError OBEXSessionPut( OBEXSessionRef inSessionRef, Boolean inIsFinalChunk, void *inHeadersData, size_t inHeadersDataLength, void *inBodyData, size_t inBodyDataLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinIsFinalChunkinHeadersDatainHeadersDataLengthinBodyDatainBodyDataLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionPutResponse |
Send a response to a put command to the remote client.
OBEXError OBEXSessionPutResponse( OBEXSessionRef inSessionRef, OBEXOpCode inResponseOpCode, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinResponseOpCodeinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionSetPath |
Send a set path command to a remote OBEX server.
OBEXError OBEXSessionSetPath( OBEXSessionRef inSessionRef, OBEXFlags inFlags, OBEXConstants inConstants, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefcon );
inSessionRefinFlagsinConstantsinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionSetPathResponse |
Send a response to a set path command to the remote client.
OBEXError OBEXSessionSetPathResponse( OBEXSessionRef inSessionRef, OBEXOpCode inResponseOpCode, void *inOptionalHeaders, size_t inOptionalHeadersLength, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinResponseOpCodeinOptionalHeadersinOptionalHeadersLengthinCallbackinUserRefConAn error code value. 0 if successful.
As all commands for OBEX sessions, this command is asynchronous only. A NULL callback paramter will result in an error.
OBEXSessionSetServerCallback |
OBEXError OBEXSessionSetServerCallback( OBEXSessionRef inSessionRef, OBEXSessionEventCallback inCallback, void *inUserRefCon );
inSessionRefinCallbackinUserRefConAn error code value. 0 if successful.
Sets callback to be used when an event occurs on an OBEXSession. This is important for OBEX servers, as you will need a way to be called back when the first command is sent to you. So, be sure to set yourself up to listen for events when you are ready to receive them.
OBEXAbortCommandData |
- OBEXAbortCommandData
typedef struct OBEXAbortCommandData OBEXAbortCommandData;
Part of the OBEXSessionEvent structure. Is readable when the event is of type kOBEXSessionEventTypeAbortCommandReceived (see OBEXSessionEventTypes).
OBEXAbortCommandResponseData |
- OBEXAbortCommandResponseData
typedef struct OBEXAbortCommandResponseData OBEXAbortCommandResponseData;
Part of the OBEXSessionEvent structure. Is readable when the event is of type kOBEXSessionEventTypeAbortCommandResponseReceived (see OBEXSessionEventTypes).
OBEXConnectCommandData |
- OBEXConnectCommandData
typedef struct OBEXConnectCommandData OBEXConnectCommandData;
Part of the OBEXSessionEvent structure. Is readable when the event is of type kOBEXSessionEventTypeConnectCommandReceived (see OBEXSessionEventTypes).
OBEXConnectCommandResponseData |
- OBEXConnectCommandResponseData
typedef struct OBEXConnectCommandResponseData OBEXConnectCommandResponseData;
Part of the OBEXSessionEvent structure. Is readable when the event is of type kOBEXSessionEventTypeConnectCommandResponseReceived (see OBEXSessionEventTypes).
OBEXDisconnectCommandData |
- OBEXDisconnectCommandData
typedef struct OBEXDisconnectCommandData OBEXDisconnectCommandData;
Part of the OBEXSessionEvent structure. Is readable when the event is of type kOBEXSessionEventTypeDisconnectCommandReceived (see OBEXSessionEventTypes).
OBEXDisconnectCommandResponseData |
- OBEXDisconnectCommandResponseData
typedef struct OBEXDisconnectCommandResponseData OBEXDisconnectCommandResponseData;
Part of the OBEXSessionEvent structure. Is readable when the event is of type kOBEXSessionEventTypeDisconnectCommandResponseReceived (see OBEXSessionEventTypes).
OBEXError |
Codes for OBEX errors. If the return value was not in the following range, then it is most likely resulting from kernel code/IOKit, and you should consult IOReturn.h for those codes.
See Also:
- OBEXErrorCodes
typedef int32_t OBEXError;
OBEXErrorData |
- OBEXErrorData
typedef struct