Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
bip.h File Reference

Go to the source code of this file.

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.