obex_const.h File Reference

OpenOBEX library - Free implementation of the Object Exchange protocol. More...

`#include <inttypes.h>`
`#include <openobex/version.h>`
Include dependency graph for obex_const.h:
This graph shows which files directly or indirectly include this file:

## Data Structures

union | obex_headerdata_t
| OBEX object tag information. More...
struct | obex_ctrans_t
| Function definition for custom transports. More...
struct | obex_usb_intf_service_t
| USB-specific OBEX service information provided by optional Service Identification Functional Descriptor (CDC WMC specification section 6.5.2.5) More...
struct | obex_usb_intf_t
| USB-specific OBEX interface information. More...
struct | obex_irda_intf_t
| IrDA-specific OBEX interface information. More...
union | obex_interface_t
| Generic OBEX interface information. More...

## Macros

#define | OBEX_FL_KEEPSERVER (1 << 1)
| Keep the server alive. More...
#define | OBEX_FL_FILTERHINT (1 << 2)
| Filter devices based on hint bit. More...
#define | OBEX_FL_FILTERIAS (1 << 3)
| Filter devices based on IAS entry. More...
#define | OBEX_FL_CLOEXEC (1 << 4)
| Set CLOEXEC flag on file descriptors. More...
#define | OBEX_FL_NONBLOCK (1 << 5)
| Set the NONBLOCK flag on file descriptors. More...
#define | OBEX_FL_FIT_ONE_PACKET (1 << 0)
| This header must fit in one packet. More...
#define | OBEX_FL_STREAM_START (1 << 1)
| Start of streaming body. More...
#define | OBEX_FL_STREAM_DATA (1 << 2)
| Set data for body stream. More...
#define | OBEX_FL_STREAM_DATAEND (1 << 3)
| Set data (or no data) for body stream and finish it. More...
#define | OBEX_FL_SUSPEND (1 << 4)
| Suspend after sending this header. More...
#define | OBEX_FL_STREAM_CONTINUE (1 << 5)
| Continue body stream after all remaining headers. More...
#define | OBEX_HDR_TYPE_SHIFT 6
#define | OBEX_HDR_TYPE_MASK 0xc0
#define | OBEX_HDR_ID_MASK 0x3f
#define | OBEX_HDR_EMPTY 0x00 /* Empty header (buggy OBEX servers) */
#define | OBEX_HDR_COUNT (OBEX_HDR_ID_COUNT | OBEX_HDR_TYPE_UINT32 )
#define | OBEX_HDR_NAME (OBEX_HDR_ID_NAME | OBEX_HDR_TYPE_UNICODE)
#define | OBEX_HDR_TYPE (OBEX_HDR_ID_TYPE | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_LENGTH (OBEX_HDR_ID_LENGTH | OBEX_HDR_TYPE_UINT32 )
#define | OBEX_HDR_TIME (OBEX_HDR_ID_TIME | OBEX_HDR_TYPE_BYTES ) /* Format: ISO 8601 */
#define | OBEX_HDR_TIME2 (OBEX_HDR_ID_TIME | OBEX_HDR_TYPE_UINT32 ) /* Deprecated use HDR_TIME instead */
#define | OBEX_HDR_DESCRIPTION (OBEX_HDR_ID_DESCRIPTION | OBEX_HDR_TYPE_UNICODE)
#define | OBEX_HDR_TARGET (OBEX_HDR_ID_TARGET | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_HTTP (OBEX_HDR_ID_HTTP | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_BODY (OBEX_HDR_ID_BODY | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_BODY_END (OBEX_HDR_ID_BODY_END | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_WHO (OBEX_HDR_ID_WHO | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_CONNECTION (OBEX_HDR_ID_CONNECTION | OBEX_HDR_TYPE_UINT32 )
#define | OBEX_HDR_APPARAM (OBEX_HDR_ID_APPARAM | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_AUTHCHAL (OBEX_HDR_ID_AUTHCHAL | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_AUTHRESP (OBEX_HDR_ID_AUTHRESP | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_CREATOR (OBEX_HDR_ID_CREATOR | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_WANUUID (OBEX_HDR_ID_WANUUID | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_OBJECTCLASS (OBEX_HDR_ID_OBJECTCLASS | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_SESSIONPARAM (OBEX_HDR_ID_SESSIONPARAM | OBEX_HDR_TYPE_BYTES )
#define | OBEX_HDR_SESSIONSEQ (OBEX_HDR_ID_SESSIONSEQ | OBEX_HDR_TYPE_UINT8 )
#define | OBEX_HDR_ACTION_ID (OBEX_HDR_ID_ACTION_ID | OBEX_HDR_TYPE_UINT8 )
#define | OBEX_HDR_DESTNAME (OBEX_HDR_ID_DESTNAME | OBEX_HDR_TYPE_UNICODE)
#define | OBEX_HDR_PERMISSIONS (OBEX_HDR_ID_PERMISSIONS | OBEX_HDR_TYPE_UINT32 )
#define | OBEX_HDR_SRM (OBEX_HDR_ID_SRM | OBEX_HDR_TYPE_UINT8 )
#define | OBEX_HDR_SRM_FLAGS (OBEX_HDR_ID_SRM_FLAGS | OBEX_HDR_TYPE_UINT8 )
#define | OBEX_FINAL 0x80
#define | OBEX_DEFAULT_MTU 1024
#define | OBEX_MINIMUM_MTU 255
#define | OBEX_MAXIMUM_MTU 65535
#define | OBEX_IRDA_OPT_MTU (7 * 2039) /* 7 IrLAP frames */
| Optimum MTU for various transport (optimum for throughput). More...

## Enumerations

enum | obex_mode { OBEX_MODE_CLIENT = 0 , OBEX_MODE_SERVER = 1 }
| Possible modes. More...
enum | obex_data_direction { OBEX_DATA_NONE = 0 , OBEX_DATA_IN = 1 , OBEX_DATA_OUT = 2 }
| Possible data direction. More...
enum | obex_event { OBEX_EV_PROGRESS = 0 , OBEX_EV_REQHINT = 1 , OBEX_EV_REQ = 2 , OBEX_EV_REQDONE = 3 , OBEX_EV_LINKERR = 4 , OBEX_EV_PARSEERR = 5 , OBEX_EV_ACCEPTHINT = 6 , OBEX_EV_ABORT = 7 , OBEX_EV_STREAMEMPTY = 8 , OBEX_EV_STREAMAVAIL = 9 , OBEX_EV_UNEXPECTED = 10 , OBEX_EV_REQCHECK = 11 , OBEX_EV_CONTINUE = 12 }
| Possible events. More...
enum | obex_transport_type { OBEX_TRANS_IRDA = 1 , OBEX_TRANS_INET = 2 , OBEX_TRANS_CUSTOM = 3 , OBEX_TRANS_BLUETOOTH = 4 , OBEX_TRANS_FD = 5 , OBEX_TRANS_USB = 6 }
| Possible transports. More...
enum | obex_hdr_type { OBEX_HDR_TYPE_INVALID = -1 , OBEX_HDR_TYPE_UNICODE = (0 << OBEX_HDR_TYPE_SHIFT) , OBEX_HDR_TYPE_BYTES = (1 << OBEX_HDR_TYPE_SHIFT) , OBEX_HDR_TYPE_UINT8 = (2 << OBEX_HDR_TYPE_SHIFT) , OBEX_HDR_TYPE_UINT32 = (3 << OBEX_HDR_TYPE_SHIFT) }
| Type part of an obex header value. More...

enum

obex_hdr_id {
OBEX_HDR_ID_INVALID = -1 , OBEX_HDR_ID_COUNT = 0 , OBEX_HDR_ID_NAME = 1 , OBEX_HDR_ID_TYPE = 2 ,
OBEX_HDR_ID_LENGTH = 3 , OBEX_HDR_ID_TIME = 4 , OBEX_HDR_ID_DESCRIPTION = 5 , OBEX_HDR_ID_TARGET = 6 ,
OBEX_HDR_ID_HTTP = 7 , OBEX_HDR_ID_BODY = 8 , OBEX_HDR_ID_BODY_END = 9 , OBEX_HDR_ID_WHO = 10 ,
OBEX_HDR_ID_CONNECTION = 11 , OBEX_HDR_ID_APPARAM = 12 , OBEX_HDR_ID_AUTHCHAL = 13 , OBEX_HDR_ID_AUTHRESP = 14 ,
OBEX_HDR_ID_CREATOR = 15 , OBEX_HDR_ID_WANUUID = 16 , OBEX_HDR_ID_OBJECTCLASS = 17 , OBEX_HDR_ID_SESSIONPARAM = 18 ,
OBEX_HDR_ID_SESSIONSEQ = 19 , OBEX_HDR_ID_ACTION_ID = 20 , OBEX_HDR_ID_DESTNAME = 21 , OBEX_HDR_ID_PERMISSIONS = 22 ,
OBEX_HDR_ID_SRM = 23 , OBEX_HDR_ID_SRM_FLAGS = 24
}

| Identifier part of an obex header value. More...
enum | obex_cmd { OBEX_CMD_CONNECT = 0x00 , OBEX_CMD_DISCONNECT = 0x01 , OBEX_CMD_PUT = 0x02 , OBEX_CMD_GET = 0x03 , OBEX_CMD_SETPATH = 0x05 , OBEX_CMD_ACTION = 0x06 , OBEX_CMD_SESSION = 0x07 , OBEX_CMD_ABORT = 0x7f }
| Obex commands. More...

enum

obex_rsp {
OBEX_RSP_CONTINUE = 0x10 , OBEX_RSP_SWITCH_PRO = 0x11 , OBEX_RSP_SUCCESS = 0x20 , OBEX_RSP_CREATED = 0x21 ,
OBEX_RSP_ACCEPTED = 0x22 , OBEX_RSP_NON_AUTHORITATIVE = 0x23 , OBEX_RSP_NO_CONTENT = 0x24 , OBEX_RSP_RESET_CONTENT = 0x25 ,
OBEX_RSP_PARTIAL_CONTENT = 0x26 , OBEX_RSP_MULTIPLE_CHOICES = 0x30 , OBEX_RSP_MOVED_PERMANENTLY = 0x31 , OBEX_RSP_MOVED_TEMPORARILY = 0x32 ,
OBEX_RSP_SEE_OTHER = 0x33 , OBEX_RSP_NOT_MODIFIED = 0x34 , OBEX_RSP_USE_PROXY = 0x35 , OBEX_RSP_BAD_REQUEST = 0x40 ,
OBEX_RSP_UNAUTHORIZED = 0x41 , OBEX_RSP_PAYMENT_REQUIRED = 0x42 , OBEX_RSP_FORBIDDEN = 0x43 , OBEX_RSP_NOT_FOUND = 0x44 ,
OBEX_RSP_METHOD_NOT_ALLOWED = 0x45 , OBEX_RSP_NOT_ACCEPTABLE = 0x46 , OBEX_RSP_PROXY_AUTH_REQUIRED = 0x47 , OBEX_RSP_REQUEST_TIME_OUT = 0x48 ,
OBEX_RSP_CONFLICT = 0x49 , OBEX_RSP_GONE = 0x4a , OBEX_RSP_LENGTH_REQUIRED = 0x4b , OBEX_RSP_PRECONDITION_FAILED = 0x4c ,
OBEX_RSP_REQ_ENTITY_TOO_LARGE = 0x4d , OBEX_RSP_REQ_URL_TOO_LARGE = 0x4e , OBEX_RSP_UNSUPPORTED_MEDIA_TYPE = 0x4f , OBEX_RSP_INTERNAL_SERVER_ERROR = 0x50 ,
OBEX_RSP_NOT_IMPLEMENTED = 0x51 , OBEX_RSP_BAD_GATEWAY = 0x52 , OBEX_RSP_SERVICE_UNAVAILABLE = 0x53 , OBEX_RSP_GATEWAY_TIMEOUT = 0x54 ,
OBEX_RSP_VERSION_NOT_SUPPORTED = 0x55 , OBEX_RSP_DATABASE_FULL = 0x60 , OBEX_RSP_DATABASE_LOCKED = 0x61
}

| Obex responses. More...
enum | obex_rsp_mode { OBEX_RSP_MODE_NORMAL = 0 , OBEX_RSP_MODE_SINGLE = 1 }
| Obex response modes. More...

## Detailed Description

OpenOBEX library - Free implementation of the Object Exchange protocol.

Copyright (C) 1999-2000 Dag Brattli dagb@.nosp@m.cs.u.nosp@m.it.no Copyright (C) 1999-2000 Pontus Fuchs pontu.nosp@m.s.fu.nosp@m.chs@t.nosp@m.acte.nosp@m.l.se Copyright (C) 2001-2002 Jean Tourrilhes jt@hp.nosp@m.l.hp.nosp@m..com Copyright (C) 2002-2006 Marcel Holtmann marce.nosp@m.l@ho.nosp@m.ltman.nosp@m.n.or.nosp@m.g Copyright (C) 2002-2008 Christian W. Zuckschwerdt zany@.nosp@m.triq.nosp@m..net Copyright (C) 2002 Dmitry Kasatkin dmitr.nosp@m.y.ka.nosp@m.satki.nosp@m.n@no.nosp@m.kia.c.nosp@m.om Copyright (C) 2005 Herton Ronaldo Krzesinski herto.nosp@m.n@co.nosp@m.necti.nosp@m.va.c.nosp@m.om.br Copyright (C) 2005-2008 Alex Kanavin ak@se.nosp@m.nsi..nosp@m.org Copyright (C) 2006 Johan Hedberg johan.nosp@m..hed.nosp@m.berg@.nosp@m.noki.nosp@m.a.com Copyright (C) 2007-2012 Hendrik Sattler post@.nosp@m.hend.nosp@m.rik-s.nosp@m.attl.nosp@m.er.de

OpenOBEX is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with OpenOBEX. If not, see http://www.gnu.org/.

## Macro Definition Documentation

## OBEX_DEFAULT_MTU

#define OBEX_DEFAULT_MTU 1024

## OBEX_FINAL

#define OBEX_FINAL 0x80

## OBEX_FL_CLOEXEC

#define OBEX_FL_CLOEXEC (1 << 4)

Set CLOEXEC flag on file descriptors.

## OBEX_FL_FILTERHINT

#define OBEX_FL_FILTERHINT (1 << 2)

Filter devices based on hint bit.

## OBEX_FL_FILTERIAS

#define OBEX_FL_FILTERIAS (1 << 3)

Filter devices based on IAS entry.

## OBEX_FL_FIT_ONE_PACKET

#define OBEX_FL_FIT_ONE_PACKET (1 << 0)

This header must fit in one packet.

## OBEX_FL_KEEPSERVER

#define OBEX_FL_KEEPSERVER (1 << 1)

Keep the server alive.

## OBEX_FL_NONBLOCK

#define OBEX_FL_NONBLOCK (1 << 5)

Set the NONBLOCK flag on file descriptors.

## OBEX_FL_STREAM_CONTINUE

#define OBEX_FL_STREAM_CONTINUE (1 << 5)

Continue body stream after all remaining headers.

## OBEX_FL_STREAM_DATA

#define OBEX_FL_STREAM_DATA (1 << 2)

Set data for body stream.

## OBEX_FL_STREAM_DATAEND

#define OBEX_FL_STREAM_DATAEND (1 << 3)

Set data (or no data) for body stream and finish it.

## OBEX_FL_STREAM_START

#define OBEX_FL_STREAM_START (1 << 1)

Start of streaming body.

## OBEX_FL_SUSPEND

#define OBEX_FL_SUSPEND (1 << 4)

Suspend after sending this header.

## OBEX_HDR_ACTION_ID

#define OBEX_HDR_ACTION_ID (OBEX_HDR_ID_ACTION_ID | OBEX_HDR_TYPE_UINT8 )

## OBEX_HDR_APPARAM

#define OBEX_HDR_APPARAM (OBEX_HDR_ID_APPARAM | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_AUTHCHAL

#define OBEX_HDR_AUTHCHAL (OBEX_HDR_ID_AUTHCHAL | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_AUTHRESP

#define OBEX_HDR_AUTHRESP (OBEX_HDR_ID_AUTHRESP | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_BODY

#define OBEX_HDR_BODY (OBEX_HDR_ID_BODY | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_BODY_END

#define OBEX_HDR_BODY_END (OBEX_HDR_ID_BODY_END | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_CONNECTION

#define OBEX_HDR_CONNECTION (OBEX_HDR_ID_CONNECTION | OBEX_HDR_TYPE_UINT32 )

## OBEX_HDR_COUNT

#define OBEX_HDR_COUNT (OBEX_HDR_ID_COUNT | OBEX_HDR_TYPE_UINT32 )

## OBEX_HDR_CREATOR

#define OBEX_HDR_CREATOR (OBEX_HDR_ID_CREATOR | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_DESCRIPTION

#define OBEX_HDR_DESCRIPTION (OBEX_HDR_ID_DESCRIPTION | OBEX_HDR_TYPE_UNICODE)

## OBEX_HDR_DESTNAME

#define OBEX_HDR_DESTNAME (OBEX_HDR_ID_DESTNAME | OBEX_HDR_TYPE_UNICODE)

## OBEX_HDR_EMPTY

#define OBEX_HDR_EMPTY 0x00 /* Empty header (buggy OBEX servers) */

## OBEX_HDR_HTTP

#define OBEX_HDR_HTTP (OBEX_HDR_ID_HTTP | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_ID_MASK

#define OBEX_HDR_ID_MASK 0x3f

## OBEX_HDR_LENGTH

#define OBEX_HDR_LENGTH (OBEX_HDR_ID_LENGTH | OBEX_HDR_TYPE_UINT32 )

## OBEX_HDR_NAME

#define OBEX_HDR_NAME (OBEX_HDR_ID_NAME | OBEX_HDR_TYPE_UNICODE)

## OBEX_HDR_OBJECTCLASS

#define OBEX_HDR_OBJECTCLASS (OBEX_HDR_ID_OBJECTCLASS | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_PERMISSIONS

#define OBEX_HDR_PERMISSIONS (OBEX_HDR_ID_PERMISSIONS | OBEX_HDR_TYPE_UINT32 )

## OBEX_HDR_SESSIONPARAM

#define OBEX_HDR_SESSIONPARAM (OBEX_HDR_ID_SESSIONPARAM | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_SESSIONSEQ

#define OBEX_HDR_SESSIONSEQ (OBEX_HDR_ID_SESSIONSEQ | OBEX_HDR_TYPE_UINT8 )

## OBEX_HDR_SRM

#define OBEX_HDR_SRM (OBEX_HDR_ID_SRM | OBEX_HDR_TYPE_UINT8 )

## OBEX_HDR_SRM_FLAGS

#define OBEX_HDR_SRM_FLAGS (OBEX_HDR_ID_SRM_FLAGS | OBEX_HDR_TYPE_UINT8 )

## OBEX_HDR_TARGET

#define OBEX_HDR_TARGET (OBEX_HDR_ID_TARGET | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_TIME

#define OBEX_HDR_TIME (OBEX_HDR_ID_TIME | OBEX_HDR_TYPE_BYTES ) /* Format: ISO 8601 */

## OBEX_HDR_TIME2

#define OBEX_HDR_TIME2 (OBEX_HDR_ID_TIME | OBEX_HDR_TYPE_UINT32 ) /* Deprecated use HDR_TIME instead */

## OBEX_HDR_TYPE

#define OBEX_HDR_TYPE (OBEX_HDR_ID_TYPE | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_TYPE_MASK

#define OBEX_HDR_TYPE_MASK 0xc0

## OBEX_HDR_TYPE_SHIFT

#define OBEX_HDR_TYPE_SHIFT 6

## OBEX_HDR_WANUUID

#define OBEX_HDR_WANUUID (OBEX_HDR_ID_WANUUID | OBEX_HDR_TYPE_BYTES )

## OBEX_HDR_WHO

#define OBEX_HDR_WHO (OBEX_HDR_ID_WHO | OBEX_HDR_TYPE_BYTES )

## OBEX_IRDA_OPT_MTU

#define OBEX_IRDA_OPT_MTU (7 * 2039) /* 7 IrLAP frames */

Optimum MTU for various transport (optimum for throughput).

The user/application has to set them via OBEX_SetTransportMTU(). If you are worried about safety or latency, stick with the current default... - Jean II

## OBEX_MAXIMUM_MTU

#define OBEX_MAXIMUM_MTU 65535

## OBEX_MINIMUM_MTU

#define OBEX_MINIMUM_MTU 255

## Enumeration Type Documentation

## obex_cmd

enum obex_cmd

Obex commands.

Enumerator
OBEX_CMD_CONNECT |
OBEX_CMD_DISCONNECT |
OBEX_CMD_PUT |
OBEX_CMD_GET |
OBEX_CMD_SETPATH |
OBEX_CMD_ACTION |
OBEX_CMD_SESSION | used for reliable session support
OBEX_CMD_ABORT |

## obex_data_direction

enum obex_data_direction

Possible data direction.

Enumerator
OBEX_DATA_NONE |
OBEX_DATA_IN |
OBEX_DATA_OUT |

## obex_event

enum obex_event

Possible events.

Enumerator
OBEX_EV_PROGRESS | Progress has been made.
OBEX_EV_REQHINT | An incoming request is about to come.
OBEX_EV_REQ | An incoming request has arrived.
OBEX_EV_REQDONE | Request has finished.
OBEX_EV_LINKERR | Link has been disconnected.
OBEX_EV_PARSEERR | Malformed data encountered.
OBEX_EV_ACCEPTHINT | Connection accepted.
OBEX_EV_ABORT | Request was aborted.
OBEX_EV_STREAMEMPTY | Need to feed more data when sending a stream.
OBEX_EV_STREAMAVAIL | Time to pick up data when receiving a stream.
OBEX_EV_UNEXPECTED | Unexpected data, not fatal.
OBEX_EV_REQCHECK | First packet of an incoming request has been parsed.
OBEX_EV_CONTINUE | A Continue response was received and a new request is about to be sent. CancelRequest() can be used to stop the request processing.

## obex_hdr_id

enum obex_hdr_id

Identifier part of an obex header value.

Enumerator
OBEX_HDR_ID_INVALID | used as invalid return value
OBEX_HDR_ID_COUNT | Number of objects (used by connect)
OBEX_HDR_ID_NAME | Name of the object.
OBEX_HDR_ID_TYPE | Type of the object.
OBEX_HDR_ID_LENGTH | Total length of object.
OBEX_HDR_ID_TIME | Last modification time of (ISO8601)
OBEX_HDR_ID_DESCRIPTION | Description of object.
OBEX_HDR_ID_TARGET | Identifies the target for the object.
OBEX_HDR_ID_HTTP | An HTTP 1.x header.
OBEX_HDR_ID_BODY | Data part of the object.
OBEX_HDR_ID_BODY_END | Last data part of the object.
OBEX_HDR_ID_WHO | Identifies the sender of the object.
OBEX_HDR_ID_CONNECTION | Connection identifier.
OBEX_HDR_ID_APPARAM | Application parameters.
OBEX_HDR_ID_AUTHCHAL | Authentication challenge.
OBEX_HDR_ID_AUTHRESP | Authentication response.
OBEX_HDR_ID_CREATOR | indicates the creator of an object
OBEX_HDR_ID_WANUUID | uniquely identifies the network client (OBEX server)
OBEX_HDR_ID_OBJECTCLASS | OBEX Object class of object.
OBEX_HDR_ID_SESSIONPARAM | Parameters used in session commands/responses.
OBEX_HDR_ID_SESSIONSEQ | Sequence number used in each OBEX packet for reliability.
OBEX_HDR_ID_ACTION_ID | Specifies the action for the ACTION command.
OBEX_HDR_ID_DESTNAME | Destination object name.
OBEX_HDR_ID_PERMISSIONS | bit mask for setting permissions
OBEX_HDR_ID_SRM | response mode selection
OBEX_HDR_ID_SRM_FLAGS | flags for single response mode

## obex_hdr_type

enum obex_hdr_type

Type part of an obex header value.

Enumerator
OBEX_HDR_TYPE_INVALID | used as invalid return value
OBEX_HDR_TYPE_UNICODE | zero terminated unicode string (network byte order)
OBEX_HDR_TYPE_BYTES | byte array
OBEX_HDR_TYPE_UINT8 | 8bit unsigned integer
OBEX_HDR_TYPE_UINT32 | 32bit unsigned integer

## obex_mode

enum obex_mode

Possible modes.

Enumerator
OBEX_MODE_CLIENT | client mode
OBEX_MODE_SERVER | server mode

## obex_rsp

enum obex_rsp

Obex responses.

Enumerator
OBEX_RSP_CONTINUE |
OBEX_RSP_SWITCH_PRO |
OBEX_RSP_SUCCESS |
OBEX_RSP_CREATED |
OBEX_RSP_ACCEPTED |
OBEX_RSP_NON_AUTHORITATIVE |
OBEX_RSP_NO_CONTENT |
OBEX_RSP_RESET_CONTENT |
OBEX_RSP_PARTIAL_CONTENT |
OBEX_RSP_MULTIPLE_CHOICES |
OBEX_RSP_MOVED_PERMANENTLY |
OBEX_RSP_MOVED_TEMPORARILY |
OBEX_RSP_SEE_OTHER |
OBEX_RSP_NOT_MODIFIED |
OBEX_RSP_USE_PROXY |
OBEX_RSP_BAD_REQUEST |
OBEX_RSP_UNAUTHORIZED |
OBEX_RSP_PAYMENT_REQUIRED |
OBEX_RSP_FORBIDDEN |
OBEX_RSP_NOT_FOUND |
OBEX_RSP_METHOD_NOT_ALLOWED |
OBEX_RSP_NOT_ACCEPTABLE |
OBEX_RSP_PROXY_AUTH_REQUIRED |
OBEX_RSP_REQUEST_TIME_OUT |
OBEX_RSP_CONFLICT |
OBEX_RSP_GONE |
OBEX_RSP_LENGTH_REQUIRED |
OBEX_RSP_PRECONDITION_FAILED |
OBEX_RSP_REQ_ENTITY_TOO_LARGE |
OBEX_RSP_REQ_URL_TOO_LARGE |
OBEX_RSP_UNSUPPORTED_MEDIA_TYPE |
OBEX_RSP_INTERNAL_SERVER_ERROR |
OBEX_RSP_NOT_IMPLEMENTED |
OBEX_RSP_BAD_GATEWAY |
OBEX_RSP_SERVICE_UNAVAILABLE |
OBEX_RSP_GATEWAY_TIMEOUT |
OBEX_RSP_VERSION_NOT_SUPPORTED |
OBEX_RSP_DATABASE_FULL |
OBEX_RSP_DATABASE_LOCKED |

## obex_rsp_mode

enum obex_rsp_mode

Obex response modes.

Enumerator
OBEX_RSP_MODE_NORMAL | normal response mode
OBEX_RSP_MODE_SINGLE | single response mode (SRM)

## obex_transport_type

enum obex_transport_type

Possible transports.

Enumerator
OBEX_TRANS_IRDA | Infrared.
OBEX_TRANS_INET | TCP over IPv4/v6.
OBEX_TRANS_CUSTOM | Custom transport with callbacks.
OBEX_TRANS_BLUETOOTH | Bluetooth RFCOMM.
OBEX_TRANS_FD | file descriptors
OBEX_TRANS_USB | USB CDC OBEX.