本文整理汇总了C++中LOG_FUNC_RETURN函数的典型用法代码示例。如果您正苦于以下问题:C++ LOG_FUNC_RETURN函数的具体用法?C++ LOG_FUNC_RETURN怎么用?C++ LOG_FUNC_RETURN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LOG_FUNC_RETURN函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: lowerlayer_data_req
/****************************************************************************
** **
** Name: lowerlayer_data_req() **
** **
** Description: Notify the EPS Mobility Management entity that data have **
** to be transfered to lower layers **
** **
** Inputs: ueid: UE lower layer identifier **
** data: Data to be transfered to lower layers **
** Others: None **
** **
** Outputs: None **
** Return: RETURNok, RETURNerror **
** Others: None **
** **
***************************************************************************/
int lowerlayer_data_req(unsigned int ueid, const OctetString *data)
{
LOG_FUNC_IN;
int rc;
emm_sap_t emm_sap;
emm_security_context_t *sctx = NULL;
struct emm_data_context_s *ctx = NULL;
emm_sap.primitive = EMMAS_DATA_REQ;
emm_sap.u.emm_as.u.data.guti = _emm_data.guti;
emm_sap.u.emm_as.u.data.ueid = 0;
sctx = _emm_data.security;
emm_sap.u.emm_as.u.data.NASinfo = 0;
emm_sap.u.emm_as.u.data.NASmsg.length = data->length;
emm_sap.u.emm_as.u.data.NASmsg.value = data->value;
/* Setup EPS NAS security data */
emm_as_set_security_data(&emm_sap.u.emm_as.u.data.sctx, sctx, FALSE, TRUE);
rc = emm_sap_send(&emm_sap);
LOG_FUNC_RETURN (rc);
}
示例2: sc_single_transmit
static int
sc_single_transmit(struct sc_card *card, struct sc_apdu *apdu)
{
struct sc_context *ctx = card->ctx;
int rv;
LOG_FUNC_CALLED(ctx);
if (card->reader->ops->transmit == NULL)
LOG_TEST_RET(card->ctx, SC_ERROR_NOT_SUPPORTED, "cannot transmit APDU");
sc_log(ctx, "CLA:%X, INS:%X, P1:%X, P2:%X, data(%i) %p",
apdu->cla, apdu->ins, apdu->p1, apdu->p2, apdu->datalen, apdu->data);
#ifdef ENABLE_SM
if (card->sm_ctx.sm_mode == SM_MODE_TRANSMIT)
return sc_sm_single_transmit(card, apdu);
#endif
/* send APDU to the reader driver */
rv = card->reader->ops->transmit(card->reader, apdu);
LOG_TEST_RET(ctx, rv, "unable to transmit APDU");
LOG_FUNC_RETURN(ctx, rv);
}
示例3: esteid_select
static int esteid_select(struct sc_card *card, unsigned char p1, unsigned char id1, unsigned char id2) {
struct sc_apdu apdu;
unsigned char sbuf[2];
LOG_FUNC_CALLED(card->ctx);
// Select EF/DF
sbuf[0] = id1;
sbuf[1] = id2;
sc_format_apdu(card, &apdu, SC_APDU_CASE_1, 0xA4, p1, 0x0C);
if (id1 != 0x3F && id2 != 0x00) {
apdu.cse = SC_APDU_CASE_3_SHORT;
apdu.lc = 2;
apdu.data = sbuf;
apdu.datalen = 2;
}
apdu.le = 0;
apdu.resplen = 0;
SC_TRANSMIT_TEST_RET(card, apdu, "SELECT failed");
LOG_FUNC_RETURN(card->ctx, SC_SUCCESS);
}
示例4: LOG_TRACE
/****************************************************************************
** **
** Name: _emm_attach_t3410_handler() **
** **
** Description: T3410 timeout handler **
** **
** 3GPP TS 24.301, section 5.5.1.2.6, case c **
** Upon T3410 timer expiration, the attach procedure shall **
** be aborted and the UE shall execute abnormal case attach **
** procedure. **
** The NAS signalling connection shall be released locally. **
** **
** Inputs: args: handler parameters **
** Others: None **
** **
** Outputs: None **
** Return: None **
** Others: T3410 **
** **
***************************************************************************/
void *_emm_attach_t3410_handler(void *args)
{
LOG_FUNC_IN;
emm_sap_t emm_sap;
int rc;
LOG_TRACE(WARNING, "EMM-PROC - T3410 timer expired");
/* Stop T3410 timer */
T3410.id = nas_timer_stop(T3410.id);
/* Execute abnormal case attach procedure */
_emm_attach_abnormal_cases_bcd(&emm_sap);
rc = emm_sap_send(&emm_sap);
if (rc != RETURNerror) {
/* Locally release the NAS signalling connection */
_emm_data.ecm_status = ECM_IDLE;
}
LOG_FUNC_RETURN(NULL);
}
示例5: myeid_init_card
static int
myeid_init_card(sc_profile_t *profile,
sc_pkcs15_card_t *p15card) {
struct sc_path path;
struct sc_file *file = NULL;
u8 rbuf[256];
int r;
LOG_FUNC_CALLED(p15card->card->ctx);
p15card->tokeninfo->flags = SC_PKCS15_TOKEN_PRN_GENERATION | SC_PKCS15_TOKEN_EID_COMPLIANT;
r = sc_card_ctl(p15card->card, SC_CARDCTL_GET_SERIALNR, &rbuf);
LOG_TEST_RET(p15card->card->ctx, r, "Get applet info failed");
sc_format_path("3F00", &path);
r = sc_select_file(p15card->card, &path, &file);
if (file)
sc_file_free(file);
LOG_FUNC_RETURN(p15card->card->ctx, r);
}
示例6: sc_pkcs15_encode_pubkey_dsa
int
sc_pkcs15_encode_pubkey_dsa(sc_context_t *ctx, struct sc_pkcs15_pubkey_dsa *key,
u8 **buf, size_t *buflen)
{
struct sc_asn1_entry asn1_public_key[C_ASN1_PUBLIC_KEY_SIZE];
struct sc_asn1_entry asn1_dsa_pub_coefficients[C_ASN1_DSA_PUB_COEFFICIENTS_SIZE];
int r;
LOG_FUNC_CALLED(ctx);
sc_copy_asn1_entry(c_asn1_public_key, asn1_public_key);
sc_copy_asn1_entry(c_asn1_dsa_pub_coefficients, asn1_dsa_pub_coefficients);
sc_format_asn1_entry(asn1_public_key + 0, asn1_dsa_pub_coefficients, NULL, 1);
sc_format_asn1_entry(asn1_dsa_pub_coefficients + 0, key->pub.data, &key->pub.len, 1);
sc_format_asn1_entry(asn1_dsa_pub_coefficients + 1, key->g.data, &key->g.len, 1);
sc_format_asn1_entry(asn1_dsa_pub_coefficients + 2, key->p.data, &key->p.len, 1);
sc_format_asn1_entry(asn1_dsa_pub_coefficients + 3, key->q.data, &key->q.len, 1);
r = sc_asn1_encode(ctx, asn1_public_key, buf, buflen);
LOG_TEST_RET(ctx, r, "ASN.1 encoding failed");
LOG_FUNC_RETURN(ctx, SC_SUCCESS);
}
示例7: as_message_send
/****************************************************************************
** **
** Name: as_message_send() **
** **
** Description: Service provided to the EPS Mobility Management protocol **
** at the EMMAS Access Point (EMMAS-SAP) to send AS messages **
** to the Access Stratum sublayer. **
** **
** Inputs: as_msg: The AS message to send **
** Others: _network_api_send_buffer, _network_api_id **
** **
** Outputs: Return: The number of bytes sent when success; **
** RETURNerror Otherwise **
** Others: _network_api_send_buffer **
** **
***************************************************************************/
int as_message_send(as_message_t* as_msg)
{
int bytes;
LOG_FUNC_IN;
LOG_TRACE(INFO, "NET-API - Send message 0x%.4x to the Access Stratum "
"layer", as_msg->msgID);
/* Encode the AS message */
bytes = network_api_encode_data(as_msg);
if (bytes > 0) {
/* Get the network file descriptor */
int fd = network_api_get_fd();
if (fd != RETURNerror) {
/* Send the AS message to the network */
bytes = network_api_send_data(fd, bytes);
}
}
LOG_FUNC_RETURN (bytes);
}
示例8: emm_recv_security_mode_command
/****************************************************************************
** **
** Name: emm_recv_security_mode_command() **
** **
** Description: Processes Security Mode Command message **
** **
** Inputs: msg: The received EMM message **
** Others: None **
** **
** Outputs: emm_cause: EMM cause code **
** Return: RETURNok, RETURNerror **
** Others: None **
** **
***************************************************************************/
int emm_recv_security_mode_command(security_mode_command_msg *msg,
int *emm_cause)
{
LOG_FUNC_IN;
int rc;
LOG_TRACE(INFO, "EMMAS-SAP - Received Security Mode Command message");
/*
* Message processing
*/
/* Execute the security mode control procedure initiated by the network */
rc = emm_proc_security_mode_command(
msg->naskeysetidentifier.tsc != NAS_KEY_SET_IDENTIFIER_MAPPED,
msg->naskeysetidentifier.naskeysetidentifier,
msg->selectednassecurityalgorithms.typeofcipheringalgorithm,
msg->selectednassecurityalgorithms.typeofintegrityalgorithm,
msg->replayeduesecuritycapabilities.eea,
msg->replayeduesecuritycapabilities.eia);
LOG_FUNC_RETURN (rc);
}
示例9: iasecc_sm_get_challenge
static int
iasecc_sm_get_challenge(struct sc_card *card, unsigned char *out, size_t len)
{
struct sc_context *ctx = card->ctx;
struct sc_apdu apdu;
unsigned char rbuf[SC_MAX_APDU_BUFFER_SIZE];
int rv;
sc_log(ctx, "SM get challenge: length %i",len);
sc_format_apdu(card, &apdu, SC_APDU_CASE_2_SHORT, 0x84, 0, 0);
apdu.le = len;
apdu.resplen = len;
apdu.resp = rbuf;
rv = sc_transmit_apdu(card, &apdu);
LOG_TEST_RET(ctx, rv, "APDU transmit failed");
rv = sc_check_sw(card, apdu.sw1, apdu.sw2);
LOG_TEST_RET(ctx, rv, "Command failed");
memcpy(out, rbuf, apdu.resplen);
LOG_FUNC_RETURN(ctx, apdu.resplen);
}
示例10: sc_hsm_update_ef
static int sc_hsm_update_ef(sc_pkcs15_card_t *p15card, u8 prefix, u8 id, int erase, u8 *buf, size_t buflen)
{
sc_card_t *card = p15card->card;
sc_file_t *file = NULL;
sc_file_t newfile;
sc_path_t path;
u8 fid[2];
int r;
fid[0] = prefix;
fid[1] = id;
sc_path_set(&path, SC_PATH_TYPE_FILE_ID, fid, 2, 0, -1);
r = sc_select_file(card, &path, NULL);
if ((r == SC_SUCCESS) && erase) {
r = sc_delete_file(card, &path);
LOG_TEST_RET(card->ctx, r, "Could not delete file");
r = SC_ERROR_FILE_NOT_FOUND;
}
if (r == SC_ERROR_FILE_NOT_FOUND) {
file = sc_file_new();
file->id = (path.value[0] << 8) | path.value[1];
file->type = SC_FILE_TYPE_WORKING_EF;
file->ef_structure = SC_FILE_EF_TRANSPARENT;
file->size = (size_t) 0;
file->status = SC_FILE_STATUS_ACTIVATED;
r = sc_create_file(card, file);
sc_file_free(file);
LOG_TEST_RET(card->ctx, r, "Could not create file");
}
r = sc_update_binary(card, 0, buf, buflen, 0);
LOG_FUNC_RETURN(card->ctx, r);
}
示例11: LOG_TRACE
/****************************************************************************
** **
** Name: _authentication_t3460_handler() **
** **
** Description: T3460 timeout handler **
** Upon T3460 timer expiration, the authentication request **
** message is retransmitted and the timer restarted. When **
** retransmission counter is exceed, the MME shall abort the **
** authentication procedure and any ongoing EMM specific **
** procedure and release the NAS signalling connection. **
** **
** 3GPP TS 24.301, section 5.4.2.7, case b **
** **
** Inputs: args: handler parameters **
** Others: None **
** **
** Outputs: None **
** Return: None **
** Others: None **
** **
***************************************************************************/
static void *_authentication_t3460_handler(void *args)
{
LOG_FUNC_IN;
int rc;
authentication_data_t *data = (authentication_data_t *)(args);
/* Increment the retransmission counter */
data->retransmission_count += 1;
LOG_TRACE(WARNING, "EMM-PROC - T3460 timer expired, retransmission "
"counter = %d", data->retransmission_count);
if (data->retransmission_count < AUTHENTICATION_COUNTER_MAX) {
/* Send authentication request message to the UE */
rc = _authentication_request(data);
} else {
unsigned int ueid = data->ueid;
/* Set the failure notification indicator */
data->notify_failure = TRUE;
/* Abort the authentication procedure */
rc = _authentication_abort(data);
/* Release the NAS signalling connection */
if (rc != RETURNerror) {
emm_sap_t emm_sap;
emm_sap.primitive = EMMAS_RELEASE_REQ;
emm_sap.u.emm_as.u.release.guti = NULL;
emm_sap.u.emm_as.u.release.ueid = ueid;
emm_sap.u.emm_as.u.release.cause = EMM_AS_CAUSE_AUTHENTICATION;
rc = emm_sap_send(&emm_sap);
}
}
LOG_FUNC_RETURN (NULL);
}
示例12: emm_send_security_mode_command
/****************************************************************************
** **
** Name: emm_send_security_mode_command() **
** **
** Description: Builds Security Mode Command message **
** **
** The Security Mode Command message is sent by the network **
** to the UE to establish NAS signalling security. **
** **
** Inputs: msg: The EMMAS-SAP primitive to process **
** Others: None **
** **
** Outputs: emm_msg: The EMM message to be sent **
** Return: The size of the EMM message **
** Others: None **
** **
***************************************************************************/
int emm_send_security_mode_command(const emm_as_security_t *msg,
security_mode_command_msg *emm_msg)
{
LOG_FUNC_IN;
int size = EMM_HEADER_MAXIMUM_LENGTH;
LOG_TRACE(INFO, "EMMAS-SAP - Send Security Mode Command message");
/* Mandatory - Message type */
emm_msg->messagetype = SECURITY_MODE_COMMAND;
/* Selected NAS security algorithms */
size += NAS_SECURITY_ALGORITHMS_MAXIMUM_LENGTH;
emm_msg->selectednassecurityalgorithms.typeofcipheringalgorithm =
msg->selected_eea;
emm_msg->selectednassecurityalgorithms.typeofintegrityalgorithm =
msg->selected_eia;
/* NAS key set identifier */
size += NAS_KEY_SET_IDENTIFIER_MAXIMUM_LENGTH;
emm_msg->naskeysetidentifier.tsc = NAS_KEY_SET_IDENTIFIER_NATIVE;
emm_msg->naskeysetidentifier.naskeysetidentifier = msg->ksi;
/* Replayed UE security capabilities */
size += UE_SECURITY_CAPABILITY_MAXIMUM_LENGTH;
emm_msg->replayeduesecuritycapabilities.eea = msg->eea;
emm_msg->replayeduesecuritycapabilities.eia = msg->eia;
emm_msg->replayeduesecuritycapabilities.umts_present = msg->umts_present;
emm_msg->replayeduesecuritycapabilities.gprs_present = msg->gprs_present;
emm_msg->replayeduesecuritycapabilities.uea = msg->uea;
emm_msg->replayeduesecuritycapabilities.uia = msg->uia;
emm_msg->replayeduesecuritycapabilities.gea = msg->gea;
LOG_FUNC_RETURN (size);
}
示例13: LOG_TRACE
/****************************************************************************
** **
** Name: _eps_bearer_deactivate_t3495_handler() **
** **
** Description: T3495 timeout handler **
** **
** 3GPP TS 24.301, section 6.4.4.5, case a **
** On the first expiry of the timer T3495, the MME shall re- **
** send the DEACTIVATE EPS BEARER CONTEXT REQUEST and shall **
** reset and restart timer T3495. This retransmission is **
** repeated four times, i.e. on the fifth expiry of timer **
** T3495, the MME shall abort the procedure and deactivate **
** the EPS bearer context locally. **
** **
** Inputs: args: handler parameters **
** Others: None **
** **
** Outputs: None **
** Return: None **
** Others: None **
** **
***************************************************************************/
static void *_eps_bearer_deactivate_t3495_handler(void *args)
{
LOG_FUNC_IN;
int rc;
/* Get retransmission timer parameters data */
esm_ebr_timer_data_t *data = (esm_ebr_timer_data_t *)(args);
/* Increment the retransmission counter */
data->count += 1;
LOG_TRACE(WARNING, "ESM-PROC - T3495 timer expired (ueid="NAS_UE_ID_FMT", ebi=%d), "
"retransmission counter = %d",
data->ueid, data->ebi, data->count);
if (data->count < EPS_BEARER_DEACTIVATE_COUNTER_MAX) {
/* Re-send deactivate EPS bearer context request message to the UE */
rc = _eps_bearer_deactivate(data->ctx, data->ebi, &data->msg);
} else {
/*
* The maximum number of deactivate EPS bearer context request
* message retransmission has exceed
*/
int pid, bid;
/* Deactivate the EPS bearer context locally without peer-to-peer
* signalling between the UE and the MME */
rc = _eps_bearer_release(data->ctx, data->ebi, &pid, &bid);
if (rc != RETURNerror) {
/* Stop timer T3495 */
rc = esm_ebr_stop_timer(data->ctx, data->ebi);
}
}
LOG_FUNC_RETURN (NULL);
}
示例14: iso7816_update_record
static int
iso7816_update_record(struct sc_card *card, unsigned int rec_nr,
const u8 *buf, size_t count, unsigned long flags)
{
struct sc_apdu apdu;
int r;
sc_format_apdu(card, &apdu, SC_APDU_CASE_3, 0xDC, rec_nr, 0);
apdu.p2 = (flags & SC_RECORD_EF_ID_MASK) << 3;
if (flags & SC_RECORD_BY_REC_NR)
apdu.p2 |= 0x04;
apdu.lc = count;
apdu.datalen = count;
apdu.data = buf;
fixup_transceive_length(card, &apdu);
r = sc_transmit_apdu(card, &apdu);
LOG_TEST_RET(card->ctx, r, "APDU transmit failed");
r = sc_check_sw(card, apdu.sw1, apdu.sw2);
LOG_TEST_RET(card->ctx, r, "Card returned error");
LOG_FUNC_RETURN(card->ctx, count);
}
示例15: iasecc_sm_update_binary
int
iasecc_sm_update_binary(struct sc_card *card, unsigned se_num, size_t offs,
const unsigned char *buff, size_t count)
{
struct sc_context *ctx = card->ctx;
#ifdef ENABLE_SM
struct sm_info *sm_info = &card->sm_ctx.info;
struct sc_remote_data rdata;
struct iasecc_sm_cmd_update_binary cmd_data;
int rv;
LOG_FUNC_CALLED(ctx);
sc_log(ctx, "SM update binary: acl:%X, offs:%i, count:%i", se_num, offs, count);
rv = iasecc_sm_initialize(card, se_num, SM_CMD_FILE_UPDATE);
LOG_TEST_RET(ctx, rv, "iasecc_sm_update_binary() SM INITIALIZE failed");
cmd_data.offs = offs;
cmd_data.count = count;
cmd_data.data = buff;
sm_info->cmd_data = &cmd_data;
sc_remote_data_init(&rdata);
rv = iasecc_sm_cmd(card, &rdata);
LOG_TEST_RET(ctx, rv, "iasecc_sm_update_binary() SM 'UPDATE BINARY' failed");
rv = sm_release (card, &rdata, NULL, 0);
LOG_TEST_RET(ctx, rv, "iasecc_sm_update_binary() SM release failed");
rdata.free(&rdata);
LOG_FUNC_RETURN(ctx, count);
#else
LOG_TEST_RET(ctx, SC_ERROR_NOT_SUPPORTED, "built without support of Secure-Messaging");
return SC_ERROR_NOT_SUPPORTED;
#endif
}