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...
|
Defines |
#define | OBEX_FL_KEEPSERVER (1 << 1) |
| Keep the server alive.
|
#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_CLOEXEC (1 << 4) |
| Set CLOEXEC flag on file descriptors.
|
#define | OBEX_FL_NONBLOCK (1 << 5) |
| Set the NONBLOCK flag on file descriptors.
|
#define | OBEX_FL_FIT_ONE_PACKET (1 << 0) |
| This header must fit in one packet.
|
#define | OBEX_FL_STREAM_START (1 << 1) |
| Start of streaming body.
|
#define | OBEX_FL_STREAM_DATA (1 << 2) |
| Set data for body stream.
|
#define | OBEX_FL_STREAM_DATAEND (1 << 3) |
| Set data (or no data) for body stream and finish it.
|
#define | OBEX_FL_SUSPEND (1 << 4) |
| Suspend after sending this header.
|
#define | OBEX_FL_STREAM_CONTINUE (1 << 5) |
| Continue body stream after all remaining headers.
|
#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).
|
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...
|
OpenOBEX library - Free implementation of the Object Exchange protocol.
Copyright (C) 1999-2000 Dag Brattli <dagb@cs.uit.no> Copyright (C) 1999-2000 Pontus Fuchs <pontus.fuchs@tactel.se> Copyright (C) 2001-2002 Jean Tourrilhes <jt@hpl.hp.com> Copyright (C) 2002-2006 Marcel Holtmann <marcel@holtmann.org> Copyright (C) 2002-2008 Christian W. Zuckschwerdt <zany@triq.net> Copyright (C) 2002 Dmitry Kasatkin <dmitry.kasatkin@nokia.com> Copyright (C) 2005 Herton Ronaldo Krzesinski <herton@conectiva.com.br> Copyright (C) 2005-2008 Alex Kanavin <ak@sensi.org> Copyright (C) 2006 Johan Hedberg <johan.hedberg@nokia.com> Copyright (C) 2007-2012 Hendrik Sattler <post@hendrik-sattler.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/>.