Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Basic Imaging Profile (BIP)

Basic Imaging Profile (BIP) More...

Data Structures

struct  bt_bip_transport_ops
 BIP transport layer operations. More...
struct  bt_bip_rfcomm_server
 BIP RFCOMM server structure. More...
struct  bt_bip_l2cap_server
 BIP L2CAP server structure. More...
struct  bt_bip
 BIP instance structure. More...
struct  bt_bip_server_cb
 BIP server callback structure. More...
struct  bt_bip_client_cb
 BIP client callback structure. More...
struct  bt_bip_server
 BIP server instance structure. More...
struct  bt_bip_client
 BIP client instance structure. More...

Macros

#define BT_BIP_HDR_TYPE_GET_CAPS   "x-bt/img-capabilities"
 OBEX Type header for Get Capabilities operation.
#define BT_BIP_HDR_TYPE_GET_IMAGE_LIST   "x-bt/img-listing"
 OBEX Type header for Get Image List operation.
#define BT_BIP_HDR_TYPE_GET_IMAGE_PROPERTIES   "x-bt/img-properties"
 OBEX Type header for Get Image Properties operation.
#define BT_BIP_HDR_TYPE_GET_IMAGE   "x-bt/img-img"
 OBEX Type header for Get Image operation.
#define BT_BIP_HDR_TYPE_GET_LINKED_THUMBNAIL   "x-bt/img-thm"
 OBEX Type header for Get Linked Thumbnail operation.
#define BT_BIP_HDR_TYPE_GET_LINKED_ATTACHMENT   "x-bt/img-attachment"
 OBEX Type header for Get Linked Attachment operation.
#define BT_BIP_HDR_TYPE_GET_PARTIAL_IMAGE   "x-bt/img-partial"
 OBEX Type header for Get Partial Image operation.
#define BT_BIP_HDR_TYPE_GET_MONITORING_IMAGE   "x-bt/img-monitoring"
 OBEX Type header for Get Monitoring Image operation.
#define BT_BIP_HDR_TYPE_GET_STATUS   "x-bt/img-status"
 OBEX Type header for Get Status operation.
#define BT_BIP_HDR_TYPE_PUT_IMAGE   "x-bt/img-img"
 OBEX Type header for Put Image operation.
#define BT_BIP_HDR_TYPE_PUT_LINKED_THUMBNAIL   "x-bt/img-thm"
 OBEX Type header for Put Linked Thumbnail operation.
#define BT_BIP_HDR_TYPE_PUT_LINKED_ATTACHMENT   "x-bt/img-attachment"
 OBEX Type header for Put Linked Attachment operation.
#define BT_BIP_HDR_TYPE_REMOTE_DISPLAY   "x-bt/img-display"
 OBEX Type header for Remote Display operation.
#define BT_BIP_HDR_TYPE_DELETE_IMAGE   "x-bt/img-img"
 OBEX Type header for Delete Image operation.
#define BT_BIP_HDR_TYPE_START_PRINT   "x-bt/img-print"
 OBEX Type header for Start Print operation.
#define BT_BIP_HDR_TYPE_START_ARCHIVE   "x-bt/img-archive"
 OBEX Type header for Start Archive operation.
#define BT_BIP_HEADER_ID_IMG_DESC   0x71
 Img-Descriptor header ID.
#define BT_BIP_HEADER_ID_IMG_HANDLE   0x30
 Img-Handle header ID.
#define BT_BIP_PRIM_IMAGE_PUSH_CB(_connect, _disconnect, _get_caps, _put_image, _put_linked_thumbnail, _put_linked_attachment)
 Primary Image Push server callback initializer.
#define BT_BIP_PRIM_IMAGE_PULL_CB(_connect, _disconnect, _get_caps, _get_image_list, _get_image_properties, _get_image, _get_linked_thumbnail, _get_linked_attachment, _delete_image)
 Primary Image Pull server callback initializer.
#define BT_BIP_PRIM_IMAGE_PRINT_CB(_connect, _disconnect, _get_caps, _get_status, _start_print)
 Primary Image Print server callback initializer.
#define BT_BIP_2ND_IMAGE_PRINT_CB(_connect, _disconnect, _get_partial_image)
 Secondary Image Print server callback initializer.
#define BT_BIP_PRIM_AUTO_ARCHIVE_CB(_connect, _disconnect, _get_status, _start_archive)
 Primary Auto Archive server callback initializer.
#define BT_BIP_2ND_AUTO_ARCHIVE_CB(_connect, _disconnect, _get_caps, _get_image_list, _get_image_properties, _get_image, _get_linked_thumbnail, _get_linked_attachment, _delete_image)
 Secondary Auto Archive server callback initializer.
#define BT_BIP_PRIM_REMOTE_CAMERA_CB(_connect, _disconnect, _get_image_properties, _get_image, _get_linked_thumbnail, _get_monitoring_image)
 Primary Remote Camera server callback initializer.
#define BT_BIP_PRIM_REMOTE_DISPLAY_CB(_connect, _disconnect, _get_caps, _get_image_list, _put_image, _put_linked_thumbnail, _remote_display)
 Primary Remote Display server callback initializer.
#define BT_BIP_UUID_IMAGE_PUSH
 BIP Image Push service UUID.
#define BT_BIP_UUID_IMAGE_PULL
 BIP Image Pull service UUID.
#define BT_BIP_UUID_IMAGE_PRINT
 BIP Advanced Image Printing service UUID.
#define BT_BIP_UUID_AUTO_ARCHIVE
 BIP Auto Archive service UUID.
#define BT_BIP_UUID_REMOTE_CAMERA
 BIP Remote Camera service UUID.
#define BT_BIP_UUID_REMOTE_DISPLAY
 BIP Remote Display service UUID.
#define BT_BIP_UUID_REFERENCED_OBJ
 BIP Referenced Objects service UUID.
#define BT_BIP_UUID_ARCHIVED_OBJ
 BIP Archived Objects service UUID.

Enumerations

enum  bt_bip_appl_param_tag_id {
  BT_BIP_APPL_PARAM_TAG_ID_RETURNED_HANDLES = 0x01 , BT_BIP_APPL_PARAM_TAG_ID_LIST_START_OFFSET = 0x02 , BT_BIP_APPL_PARAM_TAG_ID_LATEST_CAPTURED_IMAGES = 0x03 , BT_BIP_APPL_PARAM_TAG_ID_PARTIAL_FILE_LEN = 0x04 ,
  BT_BIP_APPL_PARAM_TAG_ID_PARTIAL_FILE_START_OFFSET = 0x05 , BT_BIP_APPL_PARAM_TAG_ID_TOTAL_FILE_SIZE = 0x06 , BT_BIP_APPL_PARAM_TAG_ID_END_FLAG = 0x07 , BT_BIP_APPL_PARAM_TAG_ID_REMOTE_DISPLAY = 0x08 ,
  BT_BIP_APPL_PARAM_TAG_ID_SERVICE_ID = 0x09 , BT_BIP_APPL_PARAM_TAG_ID_STORE_FLAG = 0x0a
}
 BIP Application Parameter Tag IDs. More...
enum  bt_bip_conn_type {
  BT_BIP_PRIM_CONN_TYPE_IMAGE_PUSH = 0 , BT_BIP_PRIM_CONN_TYPE_IMAGE_PULL = 1 , BT_BIP_PRIM_CONN_TYPE_ADVANCED_IMAGE_PRINTING = 2 , BT_BIP_PRIM_CONN_TYPE_AUTO_ARCHIVE = 3 ,
  BT_BIP_PRIM_CONN_TYPE_REMOTE_CAMERA = 4 , BT_BIP_PRIM_CONN_TYPE_REMOTE_DISPLAY = 5 , BT_BIP_2ND_CONN_TYPE_REFERENCED_OBJECTS = 10 , BT_BIP_2ND_CONN_TYPE_ARCHIVED_OBJECTS = 11
}
 BIP OBEX connection types. More...
enum  bt_bip_role { BT_BIP_ROLE_UNKNOWN = 0 , BT_BIP_ROLE_INITIATOR = 1 , BT_BIP_ROLE_RESPONDER = 2 }
 BIP role types. More...
enum  bt_bip_transport_state { BT_BIP_TRANSPORT_STATE_DISCONNECTED = 0 , BT_BIP_TRANSPORT_STATE_CONNECTING = 1 , BT_BIP_TRANSPORT_STATE_CONNECTED = 2 , BT_BIP_TRANSPORT_STATE_DISCONNECTING = 3 }
 BIP transport state. More...
enum  bt_bip_supported_capabilities { BT_BIP_SUPP_CAP_GENERIC_IMAGE = 0 , BT_BIP_SUPP_CAP_CAPTURING = 1 , BT_BIP_SUPP_CAP_PRINTING = 2 , BT_BIP_SUPP_CAP_DISPLAYING = 3 }
 BIP supported capabilities. More...
enum  bt_bip_supported_features {
  BT_BIP_SUPP_FEAT_IMAGE_PUSH = 0 , BT_BIP_SUPP_FEAT_IMAGE_PUSH_STORE = 1 , BT_BIP_SUPP_FEAT_IMAGE_PUSH_PRINT = 2 , BT_BIP_SUPP_FEAT_IMAGE_PUSH_DISPLAY = 3 ,
  BT_BIP_SUPP_FEAT_IMAGE_PULL = 4 , BT_BIP_SUPP_FEAT_ADVANCED_IMAGE_PRINT = 5 , BT_BIP_SUPP_FEAT_AUTO_ARCHIVE = 6 , BT_BIP_SUPP_FEAT_REMOTE_CAMERA = 7 ,
  BT_BIP_SUPP_FEAT_REMOTE_DISPLAY = 8
}
 BIP supported features. More...
enum  bt_bip_supported_functions {
  BT_BIP_SUPP_FUNC_GET_CAPS = 0 , BT_BIP_SUPP_FUNC_PUT_IMAGE = 1 , BT_BIP_SUPP_FUNC_PUT_LINKED_ATTACHMENT = 2 , BT_BIP_SUPP_FUNC_PUT_LINKED_THUMBNAIL = 3 ,
  BT_BIP_SUPP_FUNC_REMOTE_DISPLAY = 4 , BT_BIP_SUPP_FUNC_GET_IMAGE_LIST = 5 , BT_BIP_SUPP_FUNC_GET_IMAGE_PROPERTIES = 6 , BT_BIP_SUPP_FUNC_GET_IMAGE = 7 ,
  BT_BIP_SUPP_FUNC_GET_LINKED_THUMBNAIL = 8 , BT_BIP_SUPP_FUNC_GET_LINKED_ATTACHMENT = 9 , BT_BIP_SUPP_FUNC_DELETE_IMAGE = 10 , BT_BIP_SUPP_FUNC_START_PRINT = 11 ,
  BT_BIP_SUPP_FUNC_GET_PARTIAL_IMAGE = 12 , BT_BIP_SUPP_FUNC_START_ARCHIVE = 13 , BT_BIP_SUPP_FUNC_GET_MONITORING_IMAGE = 14 , BT_BIP_SUPP_FUNC_GET_STATUS = 16
}
 BIP supported functions. More...
enum  bt_bip_state { BT_BIP_STATE_DISCONNECTED = 0 , BT_BIP_STATE_CONNECTING = 1 , BT_BIP_STATE_CONNECTED = 2 , BT_BIP_STATE_DISCONNECTING = 3 }
 BIP connection state. More...

Functions

int bt_bip_rfcomm_register (struct bt_bip_rfcomm_server *server)
 Register BIP RFCOMM server.
int bt_bip_rfcomm_connect (struct bt_conn *conn, struct bt_bip *bip, uint8_t channel)
 Create transport connection over RFCOMM.
int bt_bip_rfcomm_disconnect (struct bt_bip *bip)
 Disconnect BIP RFCOMM connection.
int bt_bip_l2cap_register (struct bt_bip_l2cap_server *server)
 Register BIP L2CAP server.
int bt_bip_l2cap_connect (struct bt_conn *conn, struct bt_bip *bip, uint16_t psm)
 Create transport connection over L2CAP.
int bt_bip_l2cap_disconnect (struct bt_bip *bip)
 Disconnect BIP L2CAP connection.
int bt_bip_set_supported_capabilities (struct bt_bip *bip, uint8_t capabilities)
 Set supported capabilities of BIP responder.
int bt_bip_set_supported_features (struct bt_bip *bip, uint16_t features)
 Set supported features of BIP responder.
int bt_bip_set_supported_functions (struct bt_bip *bip, uint32_t functions)
 Set supported functions of BIP responder.
int bt_bip_primary_server_register (struct bt_bip *bip, struct bt_bip_server *server, enum bt_bip_conn_type type, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb)
 Register a primary BIP OBEX server.
int bt_bip_secondary_server_register (struct bt_bip *bip, struct bt_bip_server *server, enum bt_bip_conn_type type, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb, struct bt_bip_client *primary_client)
 Register a secondary BIP OBEX server.
static int bt_bip_primary_image_push_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb)
 Register Primary Image Push OBEX server.
static int bt_bip_primary_image_pull_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb)
 Register Primary Image Pull OBEX server.
static int bt_bip_primary_advanced_image_printing_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb)
 Register Primary Advanced Image Printing OBEX server.
static int bt_bip_primary_auto_archive_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb)
 Register Primary Auto Archive OBEX server.
static int bt_bip_primary_remote_camera_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb)
 Register Primary Remote Camera OBEX server.
static int bt_bip_primary_remote_display_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb)
 Register Primary Remote Display OBEX server.
static int bt_bip_secondary_advanced_image_printing_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb, struct bt_bip_client *primary_client)
 Register Secondary Advanced Image Printing OBEX server.
static int bt_bip_secondary_auto_archive_server_register (struct bt_bip *bip, struct bt_bip_server *server, const struct bt_uuid_128 *uuid, struct bt_bip_server_cb *cb, struct bt_bip_client *primary_client)
 Register Secondary Auto Archive OBEX server.
int bt_bip_server_unregister (struct bt_bip_server *server)
 Unregister a BIP OBEX server.
int bt_bip_primary_client_connect (struct bt_bip *bip, struct bt_bip_client *client, enum bt_bip_conn_type type, struct bt_bip_client_cb *cb, struct net_buf *buf)
 Connect a primary BIP OBEX client.
int bt_bip_secondary_client_connect (struct bt_bip *bip, struct bt_bip_client *client, enum bt_bip_conn_type type, struct bt_bip_client_cb *cb, struct net_buf *buf, struct bt_bip_server *primary_server)
 Connect a secondary BIP OBEX client.
static int bt_bip_primary_image_push_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf)
 Connect Primary Image Push OBEX client.
static int bt_bip_primary_image_pull_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf)
 Connect Primary Image Pull OBEX client.
static int bt_bip_primary_advanced_image_printing_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf)
 Connect Primary Advanced Image Printing OBEX client.
static int bt_bip_primary_auto_archive_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf)
 Connect Primary Auto Archive OBEX client.
static int bt_bip_primary_remote_camera_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf)
 Connect Primary Remote Camera OBEX client.
static int bt_bip_primary_remote_display_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf)
 Connect Primary Remote Display OBEX client.
static int bt_bip_secondary_advanced_image_printing_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf, struct bt_bip_server *primary_server)
 Connect Secondary Advanced Image Printing OBEX client.
static int bt_bip_secondary_auto_archive_client_connect (struct bt_bip *bip, struct bt_bip_client *client, struct bt_bip_client_cb *cb, struct net_buf *buf, struct bt_bip_server *primary_server)
 Connect Secondary Auto Archive OBEX client.
int bt_bip_connect_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send OBEX Connect response.
int bt_bip_disconnect (struct bt_bip_client *client, struct net_buf *buf)
 Send OBEX Disconnect request.
int bt_bip_disconnect_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send OBEX Disconnect response.
int bt_bip_abort (struct bt_bip_client *client, struct net_buf *buf)
 Send OBEX Abort request.
int bt_bip_abort_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send OBEX Abort response.
int bt_bip_get_capabilities (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Capabilities request.
int bt_bip_get_capabilities_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Capabilities response.
int bt_bip_get_image_list (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Image List request.
int bt_bip_get_image_list_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Image List response.
int bt_bip_get_image_properties (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Image Properties request.
int bt_bip_get_image_properties_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Image Properties response.
int bt_bip_get_image (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Image request.
int bt_bip_get_image_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Image response.
int bt_bip_get_linked_thumbnail (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Linked Thumbnail request.
int bt_bip_get_linked_thumbnail_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Linked Thumbnail response.
int bt_bip_get_linked_attachment (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Linked Attachment request.
int bt_bip_get_linked_attachment_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Linked Attachment response.
int bt_bip_get_partial_image (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Partial Image request.
int bt_bip_get_partial_image_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Partial Image response.
int bt_bip_get_monitoring_image (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Monitoring Image request.
int bt_bip_get_monitoring_image_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Monitoring Image response.
int bt_bip_get_status (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Get Status request.
int bt_bip_get_status_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Get Status response.
int bt_bip_put_image (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Put Image request.
int bt_bip_put_image_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Put Image response.
int bt_bip_put_linked_thumbnail (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Put Linked Thumbnail request.
int bt_bip_put_linked_thumbnail_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Put Linked Thumbnail response.
int bt_bip_put_linked_attachment (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Put Linked Attachment request.
int bt_bip_put_linked_attachment_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Put Linked Attachment response.
int bt_bip_remote_display (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Remote Display request.
int bt_bip_remote_display_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Remote Display response.
int bt_bip_delete_image (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Delete Image request.
int bt_bip_delete_image_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Delete Image response.
int bt_bip_start_print (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Start Print request.
int bt_bip_start_print_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Start Print response.
int bt_bip_start_archive (struct bt_bip_client *client, bool final, struct net_buf *buf)
 Send Start Archive request.
int bt_bip_start_archive_rsp (struct bt_bip_server *server, uint8_t rsp_code, struct net_buf *buf)
 Send Start Archive response.
int bt_bip_add_header_image_desc (struct net_buf *buf, uint16_t len, const uint8_t *desc)
 Add Image Descriptor header to buffer.
int bt_bip_add_header_image_handle (struct net_buf *buf, uint16_t len, const uint8_t *handle)
 Add Image Handle header to buffer.

Detailed Description

Basic Imaging Profile (BIP)

Macro Definition Documentation

◆ BT_BIP_2ND_AUTO_ARCHIVE_CB

#define BT_BIP_2ND_AUTO_ARCHIVE_CB ( _connect,
_disconnect,
_get_caps,
_get_image_list,
_get_image_properties,
_get_image,
_get_linked_thumbnail,
_get_linked_attachment,
_delete_image )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, .get_caps = _get_caps, \
.get_image_list = _get_image_list, .get_image_properties = _get_image_properties, \
.get_image = _get_image, .get_linked_thumbnail = _get_linked_thumbnail, \
.get_linked_attachment = _get_linked_attachment, .delete_image = _delete_image, \
}

Secondary Auto Archive server callback initializer.

Helper macro to initialize callbacks for Secondary Auto Archive server

◆ BT_BIP_2ND_IMAGE_PRINT_CB

#define BT_BIP_2ND_IMAGE_PRINT_CB ( _connect,
_disconnect,
_get_partial_image )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, \
.get_partial_image = _get_partial_image, \
}

Secondary Image Print server callback initializer.

Helper macro to initialize callbacks for Secondary Image Print server

◆ BT_BIP_HDR_TYPE_DELETE_IMAGE

#define BT_BIP_HDR_TYPE_DELETE_IMAGE   "x-bt/img-img"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Delete Image operation.

◆ BT_BIP_HDR_TYPE_GET_CAPS

#define BT_BIP_HDR_TYPE_GET_CAPS   "x-bt/img-capabilities"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Capabilities operation.

◆ BT_BIP_HDR_TYPE_GET_IMAGE

#define BT_BIP_HDR_TYPE_GET_IMAGE   "x-bt/img-img"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Image operation.

◆ BT_BIP_HDR_TYPE_GET_IMAGE_LIST

#define BT_BIP_HDR_TYPE_GET_IMAGE_LIST   "x-bt/img-listing"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Image List operation.

◆ BT_BIP_HDR_TYPE_GET_IMAGE_PROPERTIES

#define BT_BIP_HDR_TYPE_GET_IMAGE_PROPERTIES   "x-bt/img-properties"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Image Properties operation.

◆ BT_BIP_HDR_TYPE_GET_LINKED_ATTACHMENT

#define BT_BIP_HDR_TYPE_GET_LINKED_ATTACHMENT   "x-bt/img-attachment"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Linked Attachment operation.

◆ BT_BIP_HDR_TYPE_GET_LINKED_THUMBNAIL

#define BT_BIP_HDR_TYPE_GET_LINKED_THUMBNAIL   "x-bt/img-thm"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Linked Thumbnail operation.

◆ BT_BIP_HDR_TYPE_GET_MONITORING_IMAGE

#define BT_BIP_HDR_TYPE_GET_MONITORING_IMAGE   "x-bt/img-monitoring"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Monitoring Image operation.

◆ BT_BIP_HDR_TYPE_GET_PARTIAL_IMAGE

#define BT_BIP_HDR_TYPE_GET_PARTIAL_IMAGE   "x-bt/img-partial"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Partial Image operation.

◆ BT_BIP_HDR_TYPE_GET_STATUS

#define BT_BIP_HDR_TYPE_GET_STATUS   "x-bt/img-status"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Get Status operation.

◆ BT_BIP_HDR_TYPE_PUT_IMAGE

#define BT_BIP_HDR_TYPE_PUT_IMAGE   "x-bt/img-img"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Put Image operation.

◆ BT_BIP_HDR_TYPE_PUT_LINKED_ATTACHMENT

#define BT_BIP_HDR_TYPE_PUT_LINKED_ATTACHMENT   "x-bt/img-attachment"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Put Linked Attachment operation.

◆ BT_BIP_HDR_TYPE_PUT_LINKED_THUMBNAIL

#define BT_BIP_HDR_TYPE_PUT_LINKED_THUMBNAIL   "x-bt/img-thm"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Put Linked Thumbnail operation.

◆ BT_BIP_HDR_TYPE_REMOTE_DISPLAY

#define BT_BIP_HDR_TYPE_REMOTE_DISPLAY   "x-bt/img-display"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Remote Display operation.

◆ BT_BIP_HDR_TYPE_START_ARCHIVE

#define BT_BIP_HDR_TYPE_START_ARCHIVE   "x-bt/img-archive"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Start Archive operation.

◆ BT_BIP_HDR_TYPE_START_PRINT

#define BT_BIP_HDR_TYPE_START_PRINT   "x-bt/img-print"

#include <zephyr/bluetooth/classic/bip.h>

OBEX Type header for Start Print operation.

◆ BT_BIP_HEADER_ID_IMG_DESC

#define BT_BIP_HEADER_ID_IMG_DESC   0x71

#include <zephyr/bluetooth/classic/bip.h>

Img-Descriptor header ID.

Byte sequence, length prefixed with a two-byte unsigned integer

◆ BT_BIP_HEADER_ID_IMG_HANDLE

#define BT_BIP_HEADER_ID_IMG_HANDLE   0x30

#include <zephyr/bluetooth/classic/bip.h>

Img-Handle header ID.

Null terminated, UTF-16 encoded Unicode text length prefixed with a two-byte unsigned integer

◆ BT_BIP_PRIM_AUTO_ARCHIVE_CB

#define BT_BIP_PRIM_AUTO_ARCHIVE_CB ( _connect,
_disconnect,
_get_status,
_start_archive )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, .get_status = _get_status, \
.start_archive = _start_archive, \
}

Primary Auto Archive server callback initializer.

Helper macro to initialize callbacks for Primary Auto Archive server

◆ BT_BIP_PRIM_IMAGE_PRINT_CB

#define BT_BIP_PRIM_IMAGE_PRINT_CB ( _connect,
_disconnect,
_get_caps,
_get_status,
_start_print )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, .get_caps = _get_caps, \
.get_status = _get_status, .start_print = _start_print, \
}

Primary Image Print server callback initializer.

Helper macro to initialize callbacks for Primary Image Print server

◆ BT_BIP_PRIM_IMAGE_PULL_CB

#define BT_BIP_PRIM_IMAGE_PULL_CB ( _connect,
_disconnect,
_get_caps,
_get_image_list,
_get_image_properties,
_get_image,
_get_linked_thumbnail,
_get_linked_attachment,
_delete_image )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, .get_caps = _get_caps, \
.get_image_list = _get_image_list, .get_image_properties = _get_image_properties, \
.get_image = _get_image, .get_linked_thumbnail = _get_linked_thumbnail, \
.get_linked_attachment = _get_linked_attachment, .delete_image = _delete_image, \
}

Primary Image Pull server callback initializer.

Helper macro to initialize callbacks for Primary Image Pull server

◆ BT_BIP_PRIM_IMAGE_PUSH_CB

#define BT_BIP_PRIM_IMAGE_PUSH_CB ( _connect,
_disconnect,
_get_caps,
_put_image,
_put_linked_thumbnail,
_put_linked_attachment )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, .get_caps = _get_caps, \
.put_image = _put_image, .put_linked_thumbnail = _put_linked_thumbnail, \
.put_linked_attachment = _put_linked_attachment, \
}

Primary Image Push server callback initializer.

Helper macro to initialize callbacks for Primary Image Push server

◆ BT_BIP_PRIM_REMOTE_CAMERA_CB

#define BT_BIP_PRIM_REMOTE_CAMERA_CB ( _connect,
_disconnect,
_get_image_properties,
_get_image,
_get_linked_thumbnail,
_get_monitoring_image )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, \
.get_image_properties = _get_image_properties, .get_image = _get_image, \
.get_linked_thumbnail = _get_linked_thumbnail, \
.get_monitoring_image = _get_monitoring_image, \
}

Primary Remote Camera server callback initializer.

Helper macro to initialize callbacks for Primary Remote Camera server

◆ BT_BIP_PRIM_REMOTE_DISPLAY_CB

#define BT_BIP_PRIM_REMOTE_DISPLAY_CB ( _connect,
_disconnect,
_get_caps,
_get_image_list,
_put_image,
_put_linked_thumbnail,
_remote_display )

#include <zephyr/bluetooth/classic/bip.h>

Value:
{ \
.connect = _connect, .disconnect = _disconnect, .get_caps = _get_caps, \
.get_image_list = _get_image_list, .put_image = _put_image, \
.put_linked_thumbnail = _put_linked_thumbnail, .remote_display = _remote_display, \
}

Primary Remote Display server callback initializer.

Helper macro to initialize callbacks for Primary Remote Display server

◆ BT_BIP_UUID_ARCHIVED_OBJ

#define BT_BIP_UUID_ARCHIVED_OBJ

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0x8E61F95E, 0x1A79, 0x11D4, 0x8EA4, 0x00805F9B9834))
#define BT_UUID_128_ENCODE(w32, w1, w2, w3, w48)
Encode 128 bit UUID into array values in little-endian format.
Definition uuid.h:178
#define BT_UUID_DECLARE_128(value...)
Helper to declare a 128-bit UUID inline.
Definition uuid.h:133
Definition uuid.h:68

BIP Archived Objects service UUID.

◆ BT_BIP_UUID_AUTO_ARCHIVE

#define BT_BIP_UUID_AUTO_ARCHIVE

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0x940126C0, 0x4608, 0x11D5, 0x841A, 0x0002A5325B4E))

BIP Auto Archive service UUID.

◆ BT_BIP_UUID_IMAGE_PRINT

#define BT_BIP_UUID_IMAGE_PRINT

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0x92353350, 0x4608, 0x11D5, 0x841A, 0x0002A5325B4E))

BIP Advanced Image Printing service UUID.

◆ BT_BIP_UUID_IMAGE_PULL

#define BT_BIP_UUID_IMAGE_PULL

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0x8EE9B3D0, 0x4608, 0x11D5, 0x841A, 0x0002A5325B4E))

BIP Image Pull service UUID.

◆ BT_BIP_UUID_IMAGE_PUSH

#define BT_BIP_UUID_IMAGE_PUSH

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0xE33D9545, 0x8374, 0x4AD7, 0x9EC5, 0xC16BE31EDE8E))

BIP Image Push service UUID.

◆ BT_BIP_UUID_REFERENCED_OBJ

#define BT_BIP_UUID_REFERENCED_OBJ

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0x8E61F95D, 0x1A79, 0x11D4, 0x8EA4, 0x00805F9B9834))

BIP Referenced Objects service UUID.

◆ BT_BIP_UUID_REMOTE_CAMERA

#define BT_BIP_UUID_REMOTE_CAMERA

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0x947E7420, 0x4608, 0x11D5, 0x841A, 0x0002A5325B4E))

BIP Remote Camera service UUID.

◆ BT_BIP_UUID_REMOTE_DISPLAY

#define BT_BIP_UUID_REMOTE_DISPLAY

#include <zephyr/bluetooth/classic/bip.h>

Value:
(const struct bt_uuid_128 *)BT_UUID_DECLARE_128( \
BT_UUID_128_ENCODE(0x94C7CD20, 0x4608, 0x11D5, 0x841A, 0x0002A5325B4E))

BIP Remote Display service UUID.

Enumeration Type Documentation

◆ bt_bip_appl_param_tag_id

#include <zephyr/bluetooth/classic/bip.h>

BIP Application Parameter Tag IDs.

These tag IDs are used in OBEX application parameter headers for various BIP operations.

Enumerator
BT_BIP_APPL_PARAM_TAG_ID_RETURNED_HANDLES 

Number of returned handles parameter.

BT_BIP_APPL_PARAM_TAG_ID_LIST_START_OFFSET 

List start offset parameter.

BT_BIP_APPL_PARAM_TAG_ID_LATEST_CAPTURED_IMAGES 

Latest captured images parameter.

BT_BIP_APPL_PARAM_TAG_ID_PARTIAL_FILE_LEN 

Partial file length parameter.

BT_BIP_APPL_PARAM_TAG_ID_PARTIAL_FILE_START_OFFSET 

Partial file start offset parameter.

BT_BIP_APPL_PARAM_TAG_ID_TOTAL_FILE_SIZE 

Total file size parameter.

BT_BIP_APPL_PARAM_TAG_ID_END_FLAG 

End flag parameter.

BT_BIP_APPL_PARAM_TAG_ID_REMOTE_DISPLAY 

Remote display parameter.

BT_BIP_APPL_PARAM_TAG_ID_SERVICE_ID 

Service ID parameter.

BT_BIP_APPL_PARAM_TAG_ID_STORE_FLAG 

Store flag parameter.

◆ bt_bip_conn_type

#include <zephyr/bluetooth/classic/bip.h>

BIP OBEX connection types.

Defines the different types of BIP connections as per BIP specification

Enumerator
BT_BIP_PRIM_CONN_TYPE_IMAGE_PUSH 

Primary Image Push connection.

BT_BIP_PRIM_CONN_TYPE_IMAGE_PULL 

Primary Image Pull connection.

BT_BIP_PRIM_CONN_TYPE_ADVANCED_IMAGE_PRINTING 

Primary Advanced Image Printing connection.

BT_BIP_PRIM_CONN_TYPE_AUTO_ARCHIVE 

Primary Auto Archive connection.

BT_BIP_PRIM_CONN_TYPE_REMOTE_CAMERA 

Primary Remote Camera connection.

BT_BIP_PRIM_CONN_TYPE_REMOTE_DISPLAY 

Primary Remote Display connection.

BT_BIP_2ND_CONN_TYPE_REFERENCED_OBJECTS 

Secondary Referenced Objects connection.

BT_BIP_2ND_CONN_TYPE_ARCHIVED_OBJECTS 

Secondary Archived Objects connection.

◆ bt_bip_role

#include <zephyr/bluetooth/classic/bip.h>

BIP role types.

Defines the role of the device in BIP connection

Enumerator
BT_BIP_ROLE_UNKNOWN 

Unknown role.

BT_BIP_ROLE_INITIATOR 

Connection initiator.

BT_BIP_ROLE_RESPONDER 

Connection responder.

◆ bt_bip_state

#include <zephyr/bluetooth/classic/bip.h>

BIP connection state.

Defines the state of a BIP OBEX connection

Enumerator
BT_BIP_STATE_DISCONNECTED 

Connection is disconnected.

BT_BIP_STATE_CONNECTING 

Connection is being established.

BT_BIP_STATE_CONNECTED 

Connection is established.

BT_BIP_STATE_DISCONNECTING 

Connection is being terminated.

◆ bt_bip_supported_capabilities

#include <zephyr/bluetooth/classic/bip.h>

BIP supported capabilities.

Defines the supported capabilities of the BIP device (responder). These capabilities indicate the primary BIP services that the device supports. Multiple capabilities can be combined using bitwise OR operations.

Enumerator
BT_BIP_SUPP_CAP_GENERIC_IMAGE 

Generic imaging.

BT_BIP_SUPP_CAP_CAPTURING 

Capturing.

BT_BIP_SUPP_CAP_PRINTING 

Printing.

BT_BIP_SUPP_CAP_DISPLAYING 

Displaying.

◆ bt_bip_supported_features

#include <zephyr/bluetooth/classic/bip.h>

BIP supported features.

Defines the supported features of the BIP device (responder). These features indicate the primary BIP services that the device supports. Multiple features can be combined using bitwise OR operations.

Enumerator
BT_BIP_SUPP_FEAT_IMAGE_PUSH 

Image Push feature - allows pushing images to the peer device.

BT_BIP_SUPP_FEAT_IMAGE_PUSH_STORE 

Image Push Store feature - supports storing pushed images permanently.

BT_BIP_SUPP_FEAT_IMAGE_PUSH_PRINT 

Image Push Print feature - supports printing pushed images directly.

BT_BIP_SUPP_FEAT_IMAGE_PUSH_DISPLAY 

Image Push Display feature - supports displaying pushed images.

BT_BIP_SUPP_FEAT_IMAGE_PULL 

Image Pull feature - allows pulling/retrieving images from the peer.

BT_BIP_SUPP_FEAT_ADVANCED_IMAGE_PRINT 

Advanced Image Printing feature - supports advanced printing operations.

BT_BIP_SUPP_FEAT_AUTO_ARCHIVE 

Auto Archive feature - supports automatic archiving of images.

BT_BIP_SUPP_FEAT_REMOTE_CAMERA 

Remote Camera feature - supports remote camera control and image capture.

BT_BIP_SUPP_FEAT_REMOTE_DISPLAY 

Remote Display feature - supports remote display control.

◆ bt_bip_supported_functions

#include <zephyr/bluetooth/classic/bip.h>

BIP supported functions.

Defines the supported functions of the BIP device (responder). These functions indicate the specific BIP operations that the device can perform. Multiple functions can be combined using bitwise OR operations.

Note
These values correspond to the BIP specification function definitions and are used to determine which operations can be performed on the peer device.
Enumerator
BT_BIP_SUPP_FUNC_GET_CAPS 

Get Capabilities function - supports retrieving device capabilities.

BT_BIP_SUPP_FUNC_PUT_IMAGE 

Put Image function - supports receiving/storing images.

BT_BIP_SUPP_FUNC_PUT_LINKED_ATTACHMENT 

Put Linked Attachment function - supports receiving image attachments.

BT_BIP_SUPP_FUNC_PUT_LINKED_THUMBNAIL 

Put Linked Thumbnail function - supports receiving image thumbnails.

BT_BIP_SUPP_FUNC_REMOTE_DISPLAY 

Remote Display function - supports remote display operations.

BT_BIP_SUPP_FUNC_GET_IMAGE_LIST 

Get Images List function - supports retrieving available image lists.

BT_BIP_SUPP_FUNC_GET_IMAGE_PROPERTIES 

Get Image Properties function - supports retrieving image metadata.

BT_BIP_SUPP_FUNC_GET_IMAGE 

Get Image function - supports retrieving/sending images.

BT_BIP_SUPP_FUNC_GET_LINKED_THUMBNAIL 

Get Linked Thumbnail function - supports retrieving image thumbnails.

BT_BIP_SUPP_FUNC_GET_LINKED_ATTACHMENT 

Get Linked Attachment function - supports retrieving image attachments.

BT_BIP_SUPP_FUNC_DELETE_IMAGE 

Delete Image function - supports deleting images on the peer device.

BT_BIP_SUPP_FUNC_START_PRINT 

Start Print function - supports initiating print operations.

BT_BIP_SUPP_FUNC_GET_PARTIAL_IMAGE 

Get Partial Image function - supports retrieving partial image data.

BT_BIP_SUPP_FUNC_START_ARCHIVE 

Start Archive function - supports initiating archive operations.

BT_BIP_SUPP_FUNC_GET_MONITORING_IMAGE 

Get Monitoring Image function - supports retrieving monitoring images from remote camera.

BT_BIP_SUPP_FUNC_GET_STATUS 

Get Status function - supports retrieving device/operation status.

◆ bt_bip_transport_state

#include <zephyr/bluetooth/classic/bip.h>

BIP transport state.

Defines the state of the underlying transport connection

Enumerator
BT_BIP_TRANSPORT_STATE_DISCONNECTED 

Transport is disconnected.

BT_BIP_TRANSPORT_STATE_CONNECTING 

Transport is connecting.

BT_BIP_TRANSPORT_STATE_CONNECTED 

Transport is connected.

BT_BIP_TRANSPORT_STATE_DISCONNECTING 

Transport is disconnecting.

Function Documentation

◆ bt_bip_abort()

int bt_bip_abort ( struct bt_bip_client * client,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send OBEX Abort request.

Initiates an OBEX Abort from the client side to cancel ongoing operation.

Parameters
clientBIP client instance
bufRequest data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_abort_rsp()

int bt_bip_abort_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send OBEX Abort response.

Sends a response to an OBEX Abort request received by the server.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_add_header_image_desc()

int bt_bip_add_header_image_desc ( struct net_buf * buf,
uint16_t len,
const uint8_t * desc )

#include <zephyr/bluetooth/classic/bip.h>

Add Image Descriptor header to buffer.

Adds an Image Descriptor header to the OBEX packet buffer. The descriptor contains format and encoding information for the image.

Parameters
bufBuffer to add header to
lenLength of descriptor data
descPointer to descriptor data
Returns
0 on success, negative error code on failure

◆ bt_bip_add_header_image_handle()

int bt_bip_add_header_image_handle ( struct net_buf * buf,
uint16_t len,
const uint8_t * handle )

#include <zephyr/bluetooth/classic/bip.h>

Add Image Handle header to buffer.

Adds an Image Handle header to the OBEX packet buffer. The handle is a UTF-16 encoded string that uniquely identifies an image.

Parameters
bufBuffer to add header to
lenLength of handle data in bytes
handlePointer to UTF-16 encoded handle data
Returns
0 on success, negative error code on failure

◆ bt_bip_connect_rsp()

int bt_bip_connect_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send OBEX Connect response.

Sends a response to an OBEX Connect request received by the server.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_delete_image()

int bt_bip_delete_image ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Delete Image request.

Requests deletion of a specific image on the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, and BT_BIP_HEADER_ID_IMG_HANDLE. And the value of type header is BT_BIP_HDR_TYPE_DELETE_IMAGE.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (should contain image handle)
Returns
0 on success, negative error code on failure

◆ bt_bip_delete_image_rsp()

int bt_bip_delete_image_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Delete Image response.

Responds to a Delete Image request.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_disconnect()

int bt_bip_disconnect ( struct bt_bip_client * client,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send OBEX Disconnect request.

Initiates an OBEX Disconnect from the client side.

Parameters
clientBIP client instance
bufRequest data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_disconnect_rsp()

int bt_bip_disconnect_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send OBEX Disconnect response.

Sends a response to an OBEX Disconnect request received by the server.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_get_capabilities()

int bt_bip_get_capabilities ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Capabilities request.

Requests the imaging capabilities from the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID and BT_OBEX_HEADER_ID_TYPE. And the value of type header is BT_BIP_HDR_TYPE_GET_CAPS.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_get_capabilities_rsp()

int bt_bip_get_capabilities_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Capabilities response.

Responds to a Get Capabilities request with the server's capabilities. The following OBEX headers should be included for the first response, BT_OBEX_HEADER_ID_BODY or BT_OBEX_HEADER_ID_END_BODY.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (capabilities document)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_image()

int bt_bip_get_image ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Image request.

Requests an image from the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, BT_BIP_HEADER_ID_IMG_HANDLE and BT_BIP_HEADER_ID_IMG_DESC. And the value of type header is BT_BIP_HDR_TYPE_GET_IMAGE.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (should contain image handle and descriptor)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_image_list()

int bt_bip_get_image_list ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Image List request.

Requests a list of available images from the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, BT_OBEX_HEADER_ID_APP_PARAM, and BT_BIP_HEADER_ID_IMG_DESC. And the value of type header is BT_BIP_HDR_TYPE_GET_IMAGE_LIST. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_RETURNED_HANDLES, BT_BIP_APPL_PARAM_TAG_ID_LIST_START_OFFSET, and BT_BIP_APPL_PARAM_TAG_ID_LATEST_CAPTURED_IMAGES.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_get_image_list_rsp()

int bt_bip_get_image_list_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Image List response.

Responds to a Get Image List request with the available image list. The following OBEX headers should be included for the first response, BT_OBEX_HEADER_ID_APP_PARAM and BT_BIP_HEADER_ID_IMG_DESC. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_RETURNED_HANDLES.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (image list document)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_image_properties()

int bt_bip_get_image_properties ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Image Properties request.

Requests properties of a specific image from the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, and BT_BIP_HEADER_ID_IMG_HANDLE. And the value of type header is BT_BIP_HDR_TYPE_GET_IMAGE_PROPERTIES.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (should contain image handle)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_image_properties_rsp()

int bt_bip_get_image_properties_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Image Properties response.

Responds to a Get Image Properties request with the image properties. The following OBEX headers should be included for the first response, BT_OBEX_HEADER_ID_APP_PARAM, and BT_OBEX_HEADER_ID_BODY, or BT_OBEX_HEADER_ID_END_BODY. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_RETURNED_HANDLES.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (image properties document)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_image_rsp()

int bt_bip_get_image_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Image response.

Responds to a Get Image request with the requested image data. The following OBEX headers should be included for the first response, BT_OBEX_HEADER_ID_LEN, and BT_OBEX_HEADER_ID_BODY, or BT_OBEX_HEADER_ID_END_BODY.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (image data)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_linked_attachment()

int bt_bip_get_linked_attachment ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Linked Attachment request.

Requests an attachment linked to a specific image. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, BT_BIP_HEADER_ID_IMG_HANDLE, and BT_OBEX_HEADER_ID_NAME. And the value of type header is BT_BIP_HDR_TYPE_GET_LINKED_ATTACHMENT.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (should contain image handle)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_linked_attachment_rsp()

int bt_bip_get_linked_attachment_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Linked Attachment response.

Responds to a Get Linked Attachment request with the attachment data. The following OBEX headers should be included for the first response, BT_OBEX_HEADER_ID_BODY, or BT_OBEX_HEADER_ID_END_BODY.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (attachment data)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_linked_thumbnail()

int bt_bip_get_linked_thumbnail ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Linked Thumbnail request.

Requests a thumbnail linked to a specific image. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, and BT_BIP_HEADER_ID_IMG_HANDLE. And the value of type header is BT_BIP_HDR_TYPE_GET_LINKED_THUMBNAIL.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (should contain image handle)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_linked_thumbnail_rsp()

int bt_bip_get_linked_thumbnail_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Linked Thumbnail response.

Responds to a Get Linked Thumbnail request with the thumbnail data. The following OBEX headers should be included for the first response, BT_OBEX_HEADER_ID_BODY, or BT_OBEX_HEADER_ID_END_BODY.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (thumbnail data)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_monitoring_image()

int bt_bip_get_monitoring_image ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Monitoring Image request.

Requests a monitoring image from a remote camera. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, and BT_OBEX_HEADER_ID_APP_PARAM. And the value of type header is BT_BIP_HDR_TYPE_GET_PARTIAL_IMAGE. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_STORE_FLAG.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_get_monitoring_image_rsp()

int bt_bip_get_monitoring_image_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Monitoring Image response.

Responds to a Get Monitoring Image request with the monitoring image. The following OBEX headers should be included for the first response, BT_BIP_HEADER_ID_IMG_HANDLE and BT_OBEX_HEADER_ID_BODY, or BT_OBEX_HEADER_ID_END_BODY.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (monitoring image data)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_partial_image()

int bt_bip_get_partial_image ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Partial Image request.

Requests a partial image (portion of an image) from the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, BT_OBEX_HEADER_ID_NAME, and BT_OBEX_HEADER_ID_APP_PARAM. And the value of type header is BT_BIP_HDR_TYPE_GET_PARTIAL_IMAGE. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_PARTIAL_FILE_LEN, and BT_BIP_APPL_PARAM_TAG_ID_PARTIAL_FILE_START_OFFSET.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (should contain image handle and range info)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_partial_image_rsp()

int bt_bip_get_partial_image_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Partial Image response.

Responds to a Get Partial Image request with the requested image portion. The following OBEX headers should be included for the first response, BT_OBEX_HEADER_ID_BODY, or BT_OBEX_HEADER_ID_END_BODY.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (partial image data)
Returns
0 on success, negative error code on failure

◆ bt_bip_get_status()

int bt_bip_get_status ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Status request.

Requests status information from the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, and BT_OBEX_HEADER_ID_TYPE. And the value of type header is BT_BIP_HDR_TYPE_GET_STATUS.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_get_status_rsp()

int bt_bip_get_status_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Get Status response.

Responds to a Get Status request with status information.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (status document)
Returns
0 on success, negative error code on failure

◆ bt_bip_l2cap_connect()

int bt_bip_l2cap_connect ( struct bt_conn * conn,
struct bt_bip * bip,
uint16_t psm )

#include <zephyr/bluetooth/classic/bip.h>

Create transport connection over L2CAP.

Parameters
connACL conn object
bipBIP instance
psmL2CAP PSM (Protocol Service Multiplexer)
Returns
0 on success, negative error code on failure

◆ bt_bip_l2cap_disconnect()

int bt_bip_l2cap_disconnect ( struct bt_bip * bip)

#include <zephyr/bluetooth/classic/bip.h>

Disconnect BIP L2CAP connection.

Parameters
bipBIP instance
Returns
0 on success, negative error code on failure

◆ bt_bip_l2cap_register()

int bt_bip_l2cap_register ( struct bt_bip_l2cap_server * server)

#include <zephyr/bluetooth/classic/bip.h>

Register BIP L2CAP server.

Parameters
serverL2CAP server to register
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_advanced_image_printing_client_connect()

int bt_bip_primary_advanced_image_printing_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Primary Advanced Image Printing OBEX client.

Convenience function to connect a Primary Advanced Image Printing client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_advanced_image_printing_server_register()

int bt_bip_primary_advanced_image_printing_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Primary Advanced Image Printing OBEX server.

Convenience function to register a Primary Advanced Image Printing server.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_IMAGE_PRINT)
cbServer callback functions
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_auto_archive_client_connect()

int bt_bip_primary_auto_archive_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Primary Auto Archive OBEX client.

Convenience function to connect a Primary Auto Archive client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_auto_archive_server_register()

int bt_bip_primary_auto_archive_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Primary Auto Archive OBEX server.

Convenience function to register a Primary Auto Archive server.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_AUTO_ARCHIVE)
cbServer callback functions
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_client_connect()

int bt_bip_primary_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
enum bt_bip_conn_type type,
struct bt_bip_client_cb * cb,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Connect a primary BIP OBEX client.

Initiates a primary BIP client connection for the specified service type BT_BIP_PRIM_CONN_TYPE_* of bt_bip_conn_type.

Parameters
bipBIP instance
clientBIP client structure
typePrimary connection type
cbClient callback functions
bufConnection request data
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_image_pull_client_connect()

int bt_bip_primary_image_pull_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Primary Image Pull OBEX client.

Convenience function to connect a Primary Image Pull client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_image_pull_server_register()

int bt_bip_primary_image_pull_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Primary Image Pull OBEX server.

Convenience function to register a Primary Image Pull server.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_IMAGE_PULL)
cbServer callback functions
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_image_push_client_connect()

int bt_bip_primary_image_push_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Primary Image Push OBEX client.

Convenience function to connect a Primary Image Push client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_image_push_server_register()

int bt_bip_primary_image_push_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Primary Image Push OBEX server.

Convenience function to register a Primary Image Push server.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_IMAGE_PUSH)
cbServer callback functions
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_remote_camera_client_connect()

int bt_bip_primary_remote_camera_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Primary Remote Camera OBEX client.

Convenience function to connect a Primary Remote Camera client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_remote_camera_server_register()

int bt_bip_primary_remote_camera_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Primary Remote Camera OBEX server.

Convenience function to register a Primary Remote Camera server.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_REMOTE_CAMERA)
cbServer callback functions
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_remote_display_client_connect()

int bt_bip_primary_remote_display_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Primary Remote Display OBEX client.

Convenience function to connect a Primary Remote Display client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_remote_display_server_register()

int bt_bip_primary_remote_display_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Primary Remote Display OBEX server.

Convenience function to register a Primary Remote Display server.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_REMOTE_DISPLAY)
cbServer callback functions
Returns
0 on success, negative error code on failure

◆ bt_bip_primary_server_register()

int bt_bip_primary_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
enum bt_bip_conn_type type,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb )

#include <zephyr/bluetooth/classic/bip.h>

Register a primary BIP OBEX server.

Registers a primary BIP server for the specified connection type and service UUID. Primary servers handle the main BIP operations for their respective service types.

Parameters
bipBIP instance
serverBIP server structure to register
typePrimary connection type (IMAGE_PUSH, IMAGE_PULL, etc.)
uuidService UUID for the server
cbCallback functions for handling server operations
Returns
0 on success, negative error code on failure

◆ bt_bip_put_image()

int bt_bip_put_image ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Put Image request.

Sends an image to the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, BT_OBEX_HEADER_ID_NAME, and BT_BIP_HEADER_ID_IMG_DESC. And the value of type header is BT_BIP_HDR_TYPE_PUT_IMAGE.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (image data and metadata)
Returns
0 on success, negative error code on failure

◆ bt_bip_put_image_rsp()

int bt_bip_put_image_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Put Image response.

Responds to a Put Image request. The following OBEX headers should be included for the first response, BT_BIP_HEADER_ID_IMG_HANDLE.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (may contain image handle)
Returns
0 on success, negative error code on failure

◆ bt_bip_put_linked_attachment()

int bt_bip_put_linked_attachment ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Put Linked Attachment request.

Sends an attachment linked to a specific image. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, BT_BIP_HEADER_ID_IMG_HANDLE, and BT_BIP_HEADER_ID_IMG_DESC. And the value of type header is BT_BIP_HDR_TYPE_PUT_LINKED_ATTACHMENT.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (attachment data and image handle)
Returns
0 on success, negative error code on failure

◆ bt_bip_put_linked_attachment_rsp()

int bt_bip_put_linked_attachment_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Put Linked Attachment response.

Responds to a Put Linked Attachment request.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_put_linked_thumbnail()

int bt_bip_put_linked_thumbnail ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Put Linked Thumbnail request.

Sends a thumbnail linked to a specific image. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, and BT_BIP_HEADER_ID_IMG_HANDLE. And the value of type header is BT_BIP_HDR_TYPE_PUT_LINKED_THUMBNAIL.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (thumbnail data and image handle)
Returns
0 on success, negative error code on failure

◆ bt_bip_put_linked_thumbnail_rsp()

int bt_bip_put_linked_thumbnail_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Put Linked Thumbnail response.

Responds to a Put Linked Thumbnail request.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_remote_display()

int bt_bip_remote_display ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Remote Display request.

Sends a remote display command to the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, BT_BIP_HEADER_ID_IMG_HANDLE, and BT_OBEX_HEADER_ID_APP_PARAM. And the value of type header is BT_BIP_HDR_TYPE_REMOTE_DISPLAY. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_REMOTE_DISPLAY.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (display command)
Returns
0 on success, negative error code on failure

◆ bt_bip_remote_display_rsp()

int bt_bip_remote_display_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Remote Display response.

Responds to a Remote Display request. The following OBEX headers should be included for the first response, BT_BIP_HEADER_ID_IMG_HANDLE.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer
Returns
0 on success, negative error code on failure

◆ bt_bip_rfcomm_connect()

int bt_bip_rfcomm_connect ( struct bt_conn * conn,
struct bt_bip * bip,
uint8_t channel )

#include <zephyr/bluetooth/classic/bip.h>

Create transport connection over RFCOMM.

Parameters
connACL conn object
bipBIP instance
channelRFCOMM channel number
Returns
0 on success, negative error code on failure

◆ bt_bip_rfcomm_disconnect()

int bt_bip_rfcomm_disconnect ( struct bt_bip * bip)

#include <zephyr/bluetooth/classic/bip.h>

Disconnect BIP RFCOMM connection.

Parameters
bipBIP instance
Returns
0 on success, negative error code on failure

◆ bt_bip_rfcomm_register()

int bt_bip_rfcomm_register ( struct bt_bip_rfcomm_server * server)

#include <zephyr/bluetooth/classic/bip.h>

Register BIP RFCOMM server.

Parameters
serverRFCOMM server to register
Returns
0 on success, negative error code on failure

◆ bt_bip_secondary_advanced_image_printing_client_connect()

int bt_bip_secondary_advanced_image_printing_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf,
struct bt_bip_server * primary_server )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Secondary Advanced Image Printing OBEX client.

Convenience function to connect a Secondary Advanced Image Printing client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
primary_serverAssociated primary server
Returns
0 on success, negative error code on failure

◆ bt_bip_secondary_advanced_image_printing_server_register()

int bt_bip_secondary_advanced_image_printing_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb,
struct bt_bip_client * primary_client )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Secondary Advanced Image Printing OBEX server.

Convenience function to register a Secondary Advanced Image Printing server. This server handles referenced objects for the printing service.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_REFERENCED_OBJ)
cbServer callback functions
primary_clientAssociated primary client
Returns
0 on success, negative error code on failure

◆ bt_bip_secondary_auto_archive_client_connect()

int bt_bip_secondary_auto_archive_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
struct bt_bip_client_cb * cb,
struct net_buf * buf,
struct bt_bip_server * primary_server )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Connect Secondary Auto Archive OBEX client.

Convenience function to connect a Secondary Auto Archive client.

Parameters
bipBIP instance
clientBIP client structure
cbClient callback functions
bufConnection request data
primary_serverAssociated primary server
Returns
0 on success, negative error code on failure

◆ bt_bip_secondary_auto_archive_server_register()

int bt_bip_secondary_auto_archive_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb,
struct bt_bip_client * primary_client )
inlinestatic

#include <zephyr/bluetooth/classic/bip.h>

Register Secondary Auto Archive OBEX server.

Convenience function to register a Secondary Auto Archive server. This server handles archived objects for the auto archive service.

Parameters
bipBIP instance
serverBIP server structure
uuidService UUID (typically BT_BIP_UUID_ARCHIVED_OBJ)
cbServer callback functions
primary_clientAssociated primary client
Returns
0 on success, negative error code on failure

◆ bt_bip_secondary_client_connect()

int bt_bip_secondary_client_connect ( struct bt_bip * bip,
struct bt_bip_client * client,
enum bt_bip_conn_type type,
struct bt_bip_client_cb * cb,
struct net_buf * buf,
struct bt_bip_server * primary_server )

#include <zephyr/bluetooth/classic/bip.h>

Connect a secondary BIP OBEX client.

Initiates a secondary BIP client connection with the specific type BT_BIP_2ND_CONN_TYPE_ of bt_bip_conn_type to the secondary server of BIP initiator that works as primary OBEX client.

Parameters
bipBIP instance
clientBIP client structure
typeSecondary connection type
cbClient callback functions
bufConnection request data
primary_serverAssociated primary server
Returns
0 on success, negative error code on failure

◆ bt_bip_secondary_server_register()

int bt_bip_secondary_server_register ( struct bt_bip * bip,
struct bt_bip_server * server,
enum bt_bip_conn_type type,
const struct bt_uuid_128 * uuid,
struct bt_bip_server_cb * cb,
struct bt_bip_client * primary_client )

#include <zephyr/bluetooth/classic/bip.h>

Register a secondary BIP OBEX server.

Registers a secondary BIP server that works in conjunction with a primary client. Secondary servers handle operations like referenced objects or archived objects.

Parameters
bipBIP instance
serverBIP server structure to register
typeSecondary connection type (REFERENCED_OBJECTS or ARCHIVED_OBJECTS)
uuidService UUID for the server
cbCallback functions for handling server operations
primary_clientAssociated primary client
Returns
0 on success, negative error code on failure

◆ bt_bip_server_unregister()

int bt_bip_server_unregister ( struct bt_bip_server * server)

#include <zephyr/bluetooth/classic/bip.h>

Unregister a BIP OBEX server.

Unregisters a previously registered BIP server.

Note
The specific server can only be unregistered if it is has been disconnected.
Parameters
serverBIP server to unregister
Returns
0 on success, negative error code on failure

◆ bt_bip_set_supported_capabilities()

int bt_bip_set_supported_capabilities ( struct bt_bip * bip,
uint8_t capabilities )

#include <zephyr/bluetooth/classic/bip.h>

Set supported capabilities of BIP responder.

Set the supported capabilities bitmask of peer BIP responder to local BIP initiator.

Parameters
bipBIP initiator instance
capabilitiesBitmask of supported capabilities. It is discovered from BIP responder by SDP discovery.
Returns
0 on success, negative error code on failure
Note
This function should be called before establishing any BIP OBEX connections.
The capabilities value is typically obtained through SDP discovery.

◆ bt_bip_set_supported_features()

int bt_bip_set_supported_features ( struct bt_bip * bip,
uint16_t features )

#include <zephyr/bluetooth/classic/bip.h>

Set supported features of BIP responder.

Set the supported features bitmask of peer BIP responder to local BIP initiator.

Parameters
bipBIP initiator instance
featuresBitmask of supported features. It is discovered from BIP responder by SDP discovery.
Returns
0 on success, negative error code on failure
Note
This function should be called before establishing any BIP OBEX connections.
The features value is typically obtained through SDP discovery.

◆ bt_bip_set_supported_functions()

int bt_bip_set_supported_functions ( struct bt_bip * bip,
uint32_t functions )

#include <zephyr/bluetooth/classic/bip.h>

Set supported functions of BIP responder.

Set the supported functions bitmask of peer BIP responder to local BIP initiator.

Parameters
bipBIP initiator instance
functionsBitmask of supported functions. It is discovered from BIP responder by SDP discovery.
Returns
0 on success, negative error code on failure
Note
This function should be called before establishing any BIP OBEX connections.
The functions value is typically obtained through SDP discovery.

◆ bt_bip_start_archive()

int bt_bip_start_archive ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Start Archive request.

Initiates an archive operation on the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, and BT_OBEX_HEADER_ID_APP_PARAM. And the value of type header is BT_BIP_HDR_TYPE_START_ARCHIVE. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_STORE_FLAG.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (archive control object)
Returns
0 on success, negative error code on failure

◆ bt_bip_start_archive_rsp()

int bt_bip_start_archive_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Start Archive response.

Responds to a Start Archive request.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (may contain job ID)
Returns
0 on success, negative error code on failure

◆ bt_bip_start_print()

int bt_bip_start_print ( struct bt_bip_client * client,
bool final,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Start Print request.

Initiates a print job on the server. The following OBEX headers should be included for the first request, BT_OBEX_HEADER_ID_CONN_ID, BT_OBEX_HEADER_ID_TYPE, and BT_OBEX_HEADER_ID_APP_PARAM. And the value of type header is BT_BIP_HDR_TYPE_START_PRINT. The application parameter should include ID BT_BIP_APPL_PARAM_TAG_ID_STORE_FLAG.

Parameters
clientBIP client instance
finalTrue if this is the final packet
bufRequest data buffer (print control object)
Returns
0 on success, negative error code on failure

◆ bt_bip_start_print_rsp()

int bt_bip_start_print_rsp ( struct bt_bip_server * server,
uint8_t rsp_code,
struct net_buf * buf )

#include <zephyr/bluetooth/classic/bip.h>

Send Start Print response.

Responds to a Start Print request.

Parameters
serverBIP server instance
rsp_codeOBEX response code
bufResponse data buffer (may contain job ID)
Returns
0 on success, negative error code on failure