Lines Matching refs:ccp

1245 static uint8_t accept_call(struct tbs_inst *inst, const struct bt_tbs_call_cp_acc *ccp)  in accept_call()  argument
1247 struct bt_tbs_call *call = lookup_call_in_inst(inst, ccp->call_index); in accept_call()
1256 hold_other_calls(inst, 1, &ccp->call_index); in accept_call()
1264 static uint8_t terminate_call(struct tbs_inst *inst, const struct bt_tbs_call_cp_term *ccp, in terminate_call() argument
1267 struct bt_tbs_call *call = lookup_call_in_inst(inst, ccp->call_index); in terminate_call()
1274 tbs_set_terminate_reason(inst, ccp->call_index, reason); in terminate_call()
1280 tbs_set_terminate_reason(&gtbs_inst, ccp->call_index, reason); in terminate_call()
1286 static uint8_t tbs_hold_call(struct tbs_inst *inst, const struct bt_tbs_call_cp_hold *ccp) in tbs_hold_call() argument
1288 struct bt_tbs_call *call = lookup_call_in_inst(inst, ccp->call_index); in tbs_hold_call()
1311 static uint8_t retrieve_call(struct tbs_inst *inst, const struct bt_tbs_call_cp_retrieve *ccp) in retrieve_call() argument
1313 struct bt_tbs_call *call = lookup_call_in_inst(inst, ccp->call_index); in retrieve_call()
1331 hold_other_calls(inst, 1, &ccp->call_index); in retrieve_call()
1336 static int originate_call(struct tbs_inst *inst, const struct bt_tbs_call_cp_originate *ccp, in originate_call() argument
1348 if (!bt_tbs_valid_uri(ccp->uri, uri_len)) { in originate_call()
1352 call = call_alloc(inst, BT_TBS_CALL_STATE_DIALING, ccp->uri, uri_len); in originate_call()
1367 static uint8_t join_calls(struct tbs_inst *inst, const struct bt_tbs_call_cp_join *ccp, in join_calls() argument
1385 if (ccp->call_indexes[i] == ccp->call_indexes[j]) { in join_calls()
1393 joined_calls[i] = lookup_call_in_inst(inst, ccp->call_indexes[i]); in join_calls()
1425 hold_other_calls(inst, call_index_cnt, ccp->call_indexes); in join_calls()
1431 const union bt_tbs_call_cp_t *ccp, uint8_t status, uint8_t call_index) in notify_app() argument
1437 switch (ccp->opcode) { in notify_app()
1460 const uint16_t uri_len = len - sizeof(ccp->originate); in notify_app()
1471 (void)memcpy(uri, ccp->originate.uri, uri_len); in notify_app()
1488 const uint16_t call_index_cnt = len - sizeof(ccp->join); in notify_app()
1492 tbs_cbs->join_calls(conn, call_index_cnt, ccp->join.call_indexes); in notify_app()
1508 static bool is_valid_cp_len(uint16_t len, const union bt_tbs_call_cp_t *ccp) in is_valid_cp_len() argument
1510 if (len < sizeof(ccp->opcode)) { in is_valid_cp_len()
1514 switch (ccp->opcode) { in is_valid_cp_len()
1516 return len == sizeof(ccp->accept); in is_valid_cp_len()
1518 return len == sizeof(ccp->terminate); in is_valid_cp_len()
1520 return len == sizeof(ccp->hold); in is_valid_cp_len()
1522 return len == sizeof(ccp->retrieve); in is_valid_cp_len()
1524 return len >= sizeof(ccp->originate) + BT_TBS_MIN_URI_LEN; in is_valid_cp_len()
1526 return len >= sizeof(ccp->join) + 1; /* at least 1 call index */ in is_valid_cp_len()
1536 const union bt_tbs_call_cp_t *ccp = (union bt_tbs_call_cp_t *)buf; in write_call_cp() local
1552 if (!is_valid_cp_len(len, ccp)) { in write_call_cp()
1557 bt_tbs_opcode_str(ccp->opcode)); in write_call_cp()
1572 switch (ccp->opcode) { in write_call_cp()
1574 call_index = ccp->accept.call_index; in write_call_cp()
1586 status = accept_call(tbs, &ccp->accept); in write_call_cp()
1589 call_index = ccp->terminate.call_index; in write_call_cp()
1601 status = terminate_call(tbs, &ccp->terminate, BT_TBS_REASON_CLIENT_TERMINATED); in write_call_cp()
1604 call_index = ccp->hold.call_index; in write_call_cp()
1616 status = tbs_hold_call(tbs, &ccp->hold); in write_call_cp()
1619 call_index = ccp->retrieve.call_index; in write_call_cp()
1631 status = retrieve_call(tbs, &ccp->retrieve); in write_call_cp()
1634 const uint16_t uri_len = len - sizeof(ccp->originate); in write_call_cp()
1637 tbs = lookup_inst_by_uri_scheme(ccp->originate.uri, uri_len); in write_call_cp()
1646 status = originate_call(tbs, &ccp->originate, uri_len, &call_index); in write_call_cp()
1650 const uint16_t call_index_cnt = len - sizeof(ccp->join); in write_call_cp()
1651 call_index = ccp->join.call_indexes[0]; in write_call_cp()
1663 status = join_calls(tbs, &ccp->join, call_index_cnt); in write_call_cp()
1674 inst_index(inst), bt_tbs_opcode_str(ccp->opcode), bt_tbs_status_str(status), in write_call_cp()
1702 notification->opcode = ccp->opcode; in write_call_cp()
1718 notify_app(conn, tbs, len, ccp, status, call_index); in write_call_cp()
2164 const struct bt_tbs_call_cp_acc ccp = {.call_index = call_index, in bt_tbs_accept() local
2175 status = accept_call(inst, &ccp); in bt_tbs_accept()
2192 const struct bt_tbs_call_cp_hold ccp = {.call_index = call_index, in bt_tbs_hold() local
2204 status = tbs_hold_call(inst, &ccp); in bt_tbs_hold()
2221 const struct bt_tbs_call_cp_retrieve ccp = {.call_index = call_index, in bt_tbs_retrieve() local
2233 status = retrieve_call(inst, &ccp); in bt_tbs_retrieve()
2250 const struct bt_tbs_call_cp_term ccp = {.call_index = call_index, in bt_tbs_terminate() local
2262 status = terminate_call(inst, &ccp, BT_TBS_REASON_SERVER_ENDED_CALL); in bt_tbs_terminate()
2279 struct bt_tbs_call_cp_originate *ccp = (struct bt_tbs_call_cp_originate *)buf; in bt_tbs_originate() local
2300 ccp->opcode = BT_TBS_CALL_OPCODE_ORIGINATE; in bt_tbs_originate()
2301 (void)memcpy(ccp->uri, remote_uri, uri_len); in bt_tbs_originate()
2303 ret = originate_call(inst, ccp, uri_len, call_index); in bt_tbs_originate()
2320 struct bt_tbs_call_cp_join *ccp = (struct bt_tbs_call_cp_join *)buf; in bt_tbs_join() local
2338 ccp->opcode = BT_TBS_CALL_OPCODE_JOIN; in bt_tbs_join()
2339 (void)memcpy(ccp->call_indexes, call_indexes, in bt_tbs_join()
2342 status = join_calls(inst, ccp, call_index_cnt); in bt_tbs_join()
2483 const struct bt_tbs_call_cp_term ccp = {.call_index = call_index, in bt_tbs_remote_terminate() local
2494 status = terminate_call(inst, &ccp, BT_TBS_REASON_REMOTE_ENDED_CALL); in bt_tbs_remote_terminate()