OpenOBEX  1.7
Data Structures | Macros | Enumerations
obex_const.h File Reference

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

#include <inttypes.h>
#include <openobex/version.h>

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)
 Body-stream data. More...
 
#define OBEX_FL_STREAM_DATAEND   (1 << 3)
 Body stream last data. More...
 
#define OBEX_FL_SUSPEND   (1 << 4)
 Suspend after sending this header. 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
}
 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

#define OBEX_DEFAULT_MTU   1024
#define OBEX_FINAL   0x80
#define OBEX_FL_CLOEXEC   (1 << 4)

Set CLOEXEC flag on file descriptors.

#define OBEX_FL_FILTERHINT   (1 << 2)

Filter devices based on hint bit.

#define OBEX_FL_FILTERIAS   (1 << 3)

Filter devices based on IAS entry.

#define OBEX_FL_FIT_ONE_PACKET   (1 << 0)

This header must fit in one packet.

#define OBEX_FL_KEEPSERVER   (1 << 1)

Keep the server alive.

#define OBEX_FL_NONBLOCK   (1 << 5)

Set the NONBLOCK flag on file descriptors.

#define OBEX_FL_STREAM_DATA   (1 << 2)

Body-stream data.

#define OBEX_FL_STREAM_DATAEND   (1 << 3)

Body stream last data.

#define OBEX_FL_STREAM_START   (1 << 1)

Start of streaming body.

#define OBEX_FL_SUSPEND   (1 << 4)

Suspend after sending this header.

#define OBEX_HDR_ACTION_ID   (OBEX_HDR_ID_ACTION_ID | OBEX_HDR_TYPE_UINT8 )
#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_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_CONNECTION   (OBEX_HDR_ID_CONNECTION | OBEX_HDR_TYPE_UINT32 )
#define OBEX_HDR_COUNT   (OBEX_HDR_ID_COUNT | OBEX_HDR_TYPE_UINT32 )
#define OBEX_HDR_CREATOR   (OBEX_HDR_ID_CREATOR | OBEX_HDR_TYPE_BYTES )
#define OBEX_HDR_DESCRIPTION   (OBEX_HDR_ID_DESCRIPTION | OBEX_HDR_TYPE_UNICODE)
#define OBEX_HDR_DESTNAME   (OBEX_HDR_ID_DESTNAME | OBEX_HDR_TYPE_UNICODE)
#define OBEX_HDR_EMPTY   0x00 /* Empty header (buggy OBEX servers) */
#define OBEX_HDR_HTTP   (OBEX_HDR_ID_HTTP | OBEX_HDR_TYPE_BYTES )
#define OBEX_HDR_ID_MASK   0x3f
#define OBEX_HDR_LENGTH   (OBEX_HDR_ID_LENGTH | OBEX_HDR_TYPE_UINT32 )
#define OBEX_HDR_NAME   (OBEX_HDR_ID_NAME | OBEX_HDR_TYPE_UNICODE)
#define OBEX_HDR_OBJECTCLASS   (OBEX_HDR_ID_OBJECTCLASS | OBEX_HDR_TYPE_BYTES )
#define OBEX_HDR_PERMISSIONS   (OBEX_HDR_ID_PERMISSIONS | OBEX_HDR_TYPE_UINT32 )
#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_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_HDR_TARGET   (OBEX_HDR_ID_TARGET | OBEX_HDR_TYPE_BYTES )
#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_TYPE   (OBEX_HDR_ID_TYPE | OBEX_HDR_TYPE_BYTES )
#define OBEX_HDR_TYPE_MASK   0xc0
#define OBEX_HDR_TYPE_SHIFT   6
#define OBEX_HDR_WANUUID   (OBEX_HDR_ID_WANUUID | OBEX_HDR_TYPE_BYTES )
#define OBEX_HDR_WHO   (OBEX_HDR_ID_WHO | OBEX_HDR_TYPE_BYTES )
#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

#define OBEX_MAXIMUM_MTU   65535
#define OBEX_MINIMUM_MTU   255

Enumeration Type Documentation

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 

Possible data direction.

Enumerator
OBEX_DATA_NONE 
OBEX_DATA_IN 
OBEX_DATA_OUT 
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.

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

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

enum obex_mode

Possible modes.

Enumerator
OBEX_MODE_CLIENT 

client mode

OBEX_MODE_SERVER 

server mode

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 response modes.

Enumerator
OBEX_RSP_MODE_NORMAL 

normal response mode

OBEX_RSP_MODE_SINGLE 

single response mode (SRM)

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.