本文整理汇总了C++中print_error函数的典型用法代码示例。如果您正苦于以下问题:C++ print_error函数的具体用法?C++ print_error怎么用?C++ print_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了print_error函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main_v1_1
int
main_v1_1(void){
char *nameOfFunction = "Tspi_Context_GetKeyByPublicInfo02";
TSS_HCONTEXT hContext;
TSS_HTPM hTPM;
TSS_FLAG initFlags;
TSS_HKEY hKey;
TSS_HKEY hSRK;
TSS_RESULT result;
TSS_UUID migratableSignUUID={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2};
TSS_HPOLICY srkUsagePolicy, keyUsagePolicy;
TSS_HKEY hMSigningKey;
UINT32 ulPublicKeyLength = 2048;
BYTE* rgbPublicKeyInfo;
initFlags = TSS_KEY_TYPE_SIGNING | TSS_KEY_SIZE_2048 |
TSS_KEY_VOLATILE | TSS_KEY_NO_AUTHORIZATION |
TSS_KEY_NOT_MIGRATABLE;
TSS_FLAG wrongType;
BYTE well_known_secret[20] = TSS_WELL_KNOWN_SECRET;
wrongType = (TSS_PS_TYPE_SYSTEM + TSS_PS_TYPE_USER);
print_begin_test(nameOfFunction);
//Create
result = Tspi_Context_Create(&hContext);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_Create ", result);
Tspi_Context_Close(hContext);
exit(result);
}
//Connect
result = Tspi_Context_Connect(hContext, get_server(GLOBALSERVER));
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_Connect ", result);
Tspi_Context_Close(hContext);
exit(result);
}
//Get TPM Object
result = Tspi_Context_GetTpmObject(hContext, &hTPM);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_GetTpmObject ", result);
Tspi_Context_Close(hContext);
exit(result);
}
//Create Object
result = Tspi_Context_CreateObject(hContext,
TSS_OBJECT_TYPE_RSAKEY,
initFlags, &hKey);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_CreateObject ", result);
Tspi_Context_Close(hContext);
exit(result);
}
//Load Key by UUID
result = Tspi_Context_LoadKeyByUUID(hContext,
TSS_PS_TYPE_SYSTEM,
SRK_UUID, &hSRK);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_LoadKeyByUUID ", result);
Tspi_Context_CloseObject(hContext, hKey);
Tspi_Context_Close(hContext);
exit(result);
}
#ifndef TESTSUITE_NOAUTH_SRK
//Get Policy Object for the srkUsagePolicy
result = Tspi_GetPolicyObject(hSRK, TSS_POLICY_USAGE, &srkUsagePolicy);
if (result != TSS_SUCCESS) {
print_error("Tspi_GetPolicyObject ", result);
Tspi_Context_CloseObject(hContext, hKey);
Tspi_Context_Close(hContext);
exit(result);
}
//Set Secret for the srkUsagePolicy
result = Tspi_Policy_SetSecret(srkUsagePolicy, TESTSUITE_SRK_SECRET_MODE,
TESTSUITE_SRK_SECRET_LEN, TESTSUITE_SRK_SECRET);
if (result != TSS_SUCCESS) {
print_error("Tspi_Policy_SetSecret ", result);
Tspi_Context_CloseObject(hContext, hKey);
Tspi_Context_Close(hContext);
exit(result);
}
#endif
//Create the hKey with the hSRK wrapping key
result = Tspi_Key_CreateKey(hKey, hSRK, 0);
if (result != TSS_SUCCESS) {
print_error("Tspi_Key_CreateKey", result);
Tspi_Context_CloseObject(hContext, hKey);
Tspi_Context_Close(hContext);
exit(result);
}
//Register the hKey
result = Tspi_Context_RegisterKey(hContext,
hKey, TSS_PS_TYPE_SYSTEM, migratableSignUUID,
TSS_PS_TYPE_SYSTEM, SRK_UUID);
if (result != TSS_SUCCESS &&
TSS_ERROR_CODE(result) != TSS_E_KEY_ALREADY_REGISTERED) {
print_error("Tspi_Context_RegisterKey ", result);
Tspi_Context_CloseObject(hContext, hKey);
Tspi_Context_Close(hContext);
//.........这里部分代码省略.........
开发者ID:juliarahmawati,项目名称:testsuite,代码行数:101,代码来源:Tspi_Context_GetKeyByPublicInfo02.c
示例2: parse_instruction_thumb
int parse_instruction_thumb(struct _asm_context *asm_context, char *instr)
{
char token[TOKENLEN];
int token_type;
char instr_case[TOKENLEN];
struct _operand operands[3];
int operand_count=0;
int matched=0;
int num;
int n;
lower_copy(instr_case, instr);
memset(&operands, 0, sizeof(operands));
while(1)
{
token_type=tokens_get(asm_context, token, TOKENLEN);
if (token_type==TOKEN_EOL || token_type==TOKEN_EOF)
{
break;
}
if (operand_count>=3)
{
print_error_opcount(instr, asm_context);
return -1;
}
if ((num=get_register_thumb(token))!=-1)
{
operands[operand_count].type=OPERAND_REGISTER;
operands[operand_count].value=num;
token_type=tokens_get(asm_context, token, TOKENLEN);
if (IS_TOKEN(token,'!'))
{
operands[operand_count].type=OPERAND_REGISTER_INC;
}
else
{
tokens_push(asm_context, token, token_type);
}
}
else
if ((num=get_h_register_thumb(token))!=-1)
{
operands[operand_count].type=OPERAND_H_REGISTER;
operands[operand_count].value=num;
}
else
if (token_type==TOKEN_POUND)
{
if (eval_expression(asm_context, &num)!=0)
{
if (asm_context->pass==1)
{
eat_operand(asm_context);
}
else
{
print_error_illegal_expression(instr, asm_context);
return -1;
}
}
operands[operand_count].type=OPERAND_NUMBER;
operands[operand_count].value=num;
}
else
if (IS_TOKEN(token,'['))
{
token_type=tokens_get(asm_context, token, TOKENLEN);
if (strcasecmp(token,"pc")==0 || strcasecmp(token,"r15")==0)
{
operands[operand_count].type=OPERAND_PC_AND_REG_IN_BRACKETS;
}
else
if (strcasecmp(token,"sp")==0 || strcasecmp(token,"r13")==0)
{
operands[operand_count].type=OPERAND_SP_AND_REG_IN_BRACKETS;
}
else
if ((num=get_register_thumb(token))!=-1)
{
operands[operand_count].type=OPERAND_TWO_REG_IN_BRACKETS;
operands[operand_count].value=num;
}
else
{
print_error_unexp(token, asm_context);
return -1;
}
if (expect_token_s(asm_context,",")!=0) { return -1; }
token_type=tokens_get(asm_context, token, TOKENLEN);
if ((num=get_register_thumb(token))!=-1)
{
operands[operand_count].second_value=num;
//.........这里部分代码省略.........
开发者ID:asteadman,项目名称:naken_asm,代码行数:101,代码来源:thumb.c
示例3: db2_bmd_db_result_get_value
/* TODO zaimplementowac FETCH_NEXT */
long db2_bmd_db_result_get_value(void *hDB,void *hRes,long which_row,long which_column,char **value,
EnumDbFetchMode_t fetch_mode,long *successfully_fetched)
{
PRINT_INFO("\n");
DB_bmd_db_conn_t *db_conn=NULL;
//DB_bmd_db_result_t *db_res=NULL;
SQLRETURN rc;
/* walidacja parametrow */
/******************************/
if(hDB==NULL) { BMD_FOK(BMD_DB_INVALID_CONNECTION_HANDLE); }
if(which_row<0) { BMD_FOK(BMD_ERR_PARAM3); }
if(which_column<0) { BMD_FOK(BMD_ERR_PARAM4); }
if(value == NULL) { BMD_FOK(BMD_ERR_PARAM5); }
if(*value != NULL) { BMD_FOK(BMD_ERR_PARAM5); }
if(successfully_fetched == NULL) { BMD_FOK(BMD_ERR_PARAM6); }
if(*successfully_fetched < 0) { BMD_FOK(BMD_ERR_PARAM6); }
if( (*((long *)(hDB)) != BMD_DBCONN_MAGIC ) )
return BMD_ERR_INVALID_PTR;
db_conn=(DB_bmd_db_conn_t *)hDB;
//db_res=(DB_bmd_db_result_t *)hRes;
/*
* Only FETCH_NEXT mode implemented *
*/
//if(which_column != 0)
// return BMD_ERR_FORMAT;
if(*successfully_fetched == 0){
rc = SQLFetch(*(db_conn->hstmt));
long ret = print_error(rc, "SQLFetch");
if(ret!=BMD_OK)
{
if(ret == 5)
return BMD_ERR_NODATA;
else{
extract_error("SQLAllocHandle", *(db_conn->hstmt), SQL_HANDLE_STMT);
return BMD_DB_EXECUTION_ERROR;
}
}
}
int colNum = 0;
SQLINTEGER sql_ub;
rc = SQLGetStmtAttr( *(db_conn->hstmt), SQL_ATTR_USE_BOOKMARKS, &sql_ub, 0, NULL ) ;
if(print_error(rc, "SQLGetStmtAttr") != BMD_OK)
return BMD_ERR_OP_FAILED;
if ( sql_ub == SQL_UB_OFF )
colNum = which_column + 1;
else
colNum = which_column;
//SQLCHAR *
SQLINTEGER indicator;
//TODO - koniecznie zrobiæ bufor dynamiczny!!!
SQLCHAR buf[32000];
/* retrieve column data as a string */
rc = SQLGetData(*(db_conn->hstmt), colNum, SQL_C_CHAR, buf, sizeof(buf), &indicator);
long retu = print_error(rc, "SQLGetData");
if(retu!=BMD_OK)
{
if(retu == 5)
return BMD_ERR_NODATA;
else
return BMD_ERR_OP_FAILED;
}
//PRINT_INFO("Indicator: %d\n", (int)indicator);
if(indicator <= 0)
{
//PRINT_INFO("Pobrano pust¹ wartoœæ\n");
asprintf(value,"%s","");
return BMD_OK;
}
asprintf(value,"%s",buf);
return BMD_OK;
}
开发者ID:unizeto,项目名称:bmd,代码行数:87,代码来源:db_db2_result.c
示例4: ispv1_load_phy_setting
int ispv1_load_phy_setting(char *filename, u8 *settle_time, u8 *camera_source)
{
struct kstat stat;
mm_segment_t fs;
struct file *fp = NULL;
int file_flag = O_RDONLY;
ssize_t ret = 0;
char addr_array[8] = {0};
char value_array[6] = {0};
char temp = 0;
bool bRegStart = false;
if (NULL == filename) {
print_error("%s param error", __func__);
return -EINVAL;
}
print_debug("enter %s", __func__);
/* must have the following 2 statement */
fs = get_fs();
set_fs(KERNEL_DS);
fp = filp_open(filename, file_flag, 0666);
if (IS_ERR_OR_NULL(fp)) {
print_error("open file error!\n");
return -1;
}
if (0 != vfs_stat(filename, &stat)) {
print_error("failed to get file state!");
goto error_out;
}
print_info("file size : %d", (u32) stat.size);
while (0 < vfs_read(fp, &temp, 1, &fp->f_pos)) {
switch (temp) {
case '{':
bRegStart = true;
if (0 == vfs_read(fp, addr_array, 4, &fp->f_pos))
goto error_out;
*settle_time = atoi16(addr_array);
break;
case '}':
bRegStart = false;
break;
case ',':
if (bRegStart) {
if (0 == vfs_read(fp, value_array, 4, &fp->f_pos))
goto error_out;
*camera_source = atoi16(value_array);
bRegStart = false;
}
break;
default:
break;
}
}
/* must have the following 1 statement */
set_fs(fs);
error_out:
if (NULL != fp)
filp_close(fp, 0);
return ret;
}
开发者ID:mildrock,项目名称:overlay_plane_display,代码行数:69,代码来源:k3_ispv1_io.c
示例5: main_v1_2
int
main_v1_2( char version )
{
char * function = "Tspi_TPM_GetAuditDigest09";
TSS_HCONTEXT hContext;
TSS_HKEY hSRK;
TSS_HTPM hTPM;
TSS_HPOLICY hTpmPolicy;
UINT32 auditDigestLen, ordListLen;
BYTE * auditDigest;
UINT32 * ordList;
TSS_RESULT result;
print_begin_test( function );
result = connect_load_all(&hContext, &hSRK, &hTPM);
if ( result != TSS_SUCCESS )
{
print_error( "connect_load_all", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
result = Tspi_GetPolicyObject(hTPM, TSS_POLICY_USAGE, &hTpmPolicy);
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_GetPolicyObject", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
result = Tspi_Policy_SetSecret(hTpmPolicy, TESTSUITE_OWNER_SECRET_MODE,
TESTSUITE_OWNER_SECRET_LEN, TESTSUITE_OWNER_SECRET);
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_Policy_SetSecret", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
/* Check if ordinal auditing is supported on this TPM */
result = Testsuite_Is_Ordinal_Supported(hTPM, TPM_ORD_SetOrdinalAuditStatus);
if (result != TSS_SUCCESS) {
fprintf(stderr, "%s: TPM doesn't support auditing, returning success\n", __FILE__);
print_success( function, TSS_SUCCESS );
print_end_test( function );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( 0 );
}
// Call GetAuditDigest
result = Tspi_TPM_GetAuditDigest(hTPM, NULL_HKEY, FALSE, &auditDigestLen, &auditDigest,
NULL, NULL, &ordListLen, &ordList);
if (TSS_ERROR_CODE(result) != TSS_E_BAD_PARAMETER)
{
print_error( function , result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
} else
{
print_success( function, result );
}
print_end_test( function );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( 0 );
}
开发者ID:juliarahmawati,项目名称:testsuite,代码行数:73,代码来源:Tspi_TPM_GetAuditDigest09.c
示例6: main_v1_2
int main_v1_2(char version)
{
char *function = "Tspi_Hash_TickStampBlob05";
TSS_HCONTEXT hContext;
TSS_HKEY hSRK, hMSigningKey;
TSS_HHASH hHash;
TSS_HTPM hTPM;
TSS_RESULT result;
TSS_HPOLICY srkUsagePolicy;
TSS_VALIDATION validationData;
print_begin_test(function);
// Create Context
result = Tspi_Context_Create(&hContext);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_Create", result);
exit(result);
}
// Connect to Context
result = Tspi_Context_Connect(hContext, get_server(GLOBALSERVER));
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_Connect", result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
result = Tspi_Context_GetTpmObject(hContext, &hTPM);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_GetTpmObject", result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
//Load Key By UUID
result = Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
SRK_UUID, &hSRK);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_LoadKeyByUUID (hSRK)", result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
#ifndef TESTSUITE_NOAUTH_SRK
//Get Policy Object
result = Tspi_GetPolicyObject(hSRK, TSS_POLICY_USAGE,
&srkUsagePolicy);
if (result != TSS_SUCCESS) {
print_error("Tspi_GetPolicyObject", result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
//Set Secret
result = Tspi_Policy_SetSecret(srkUsagePolicy, TESTSUITE_SRK_SECRET_MODE,
TESTSUITE_SRK_SECRET_LEN, TESTSUITE_SRK_SECRET);
if (result != TSS_SUCCESS) {
print_error("Tspi_Policy_SetSecret", result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
#endif
//Create Signing Key
result =
Tspi_Context_CreateObject(hContext, TSS_OBJECT_TYPE_RSAKEY,
TSS_KEY_SIZE_2048 |
TSS_KEY_TYPE_SIGNING |
TSS_KEY_NO_AUTHORIZATION,
&hMSigningKey);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_CreateObject (signing key)",
result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
result = Tspi_Key_CreateKey(hMSigningKey, hSRK, 0);
if (result != TSS_SUCCESS) {
print_error("Tspi_Key_CreateKey (signing key)", result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
result = Tspi_Key_LoadKey(hMSigningKey, hSRK);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_LoadKey (hMSigningKey)", result);
Tspi_Context_FreeMemory(hContext, NULL);
Tspi_Context_Close(hContext);
exit(result);
}
// create hash
result = Tspi_Context_CreateObject(hContext, TSS_OBJECT_TYPE_HASH,
TSS_HASH_SHA1, &hHash);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_CreateObject (hash)", result);
Tspi_Context_FreeMemory(hContext, NULL);
//.........这里部分代码省略.........
开发者ID:juliarahmawati,项目名称:testsuite,代码行数:101,代码来源:Tspi_Hash_TickStampBlob05.c
示例7: main_v1_1
int
main_v1_1( void )
{
char *function = "Tspi_Context_GetKeyByUUID04";
TSS_HKEY hSRK;
TSS_HKEY hMSigningKey;
TSS_UUID SRKUUID = {0,0,0,0,0,0,0,0,0,0,1};
TSS_UUID migratableSignUUID = {1,2,3,4,5,6,7,8,9,10,2};
TSS_UUID wrongUUID = {4,1,5,2,2,6,6,3,4,8,0};
TSS_HCONTEXT hContext;
TSS_RESULT result;
TSS_HPOLICY srkUsagePolicy;
UINT32 exitCode = 0;
print_begin_test( function );
// Create Context
result = Tspi_Context_Create( &hContext );
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_Context_Create", result );
exit( result );
}
// Connect to Context
result = Tspi_Context_Connect( hContext, get_server(GLOBALSERVER) );
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_Context_Connect", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
// Load SRK
result = Tspi_Context_LoadKeyByUUID( hContext, TSS_PS_TYPE_SYSTEM,
SRK_UUID, &hSRK );
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_Context_LoadKeyByUUID (hSRK)", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
#ifndef TESTSUITE_NOAUTH_SRK
//Get Policy Object
result = Tspi_GetPolicyObject( hSRK, TSS_POLICY_USAGE,
&srkUsagePolicy );
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_GetPolicyObject", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
//Set Secret
result = Tspi_Policy_SetSecret( srkUsagePolicy, TESTSUITE_SRK_SECRET_MODE,
TESTSUITE_SRK_SECRET_LEN, TESTSUITE_SRK_SECRET );
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_Policy_SetSecret", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
#endif
//Create Signing Key
result = Tspi_Context_CreateObject( hContext, TSS_OBJECT_TYPE_RSAKEY,
TSS_KEY_SIZE_2048 |
TSS_KEY_TYPE_SIGNING,
&hMSigningKey );
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_Context_CreateObject (signing key)",
result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
// Create signing key
result = Tspi_Key_CreateKey( hMSigningKey, hSRK, 0 );
if ( result != TSS_SUCCESS )
{
print_error( "Tspi_Key_CreateKey (signing key)", result );
Tspi_Context_FreeMemory( hContext, NULL );
Tspi_Context_Close( hContext );
exit( result );
}
// register signing key; srk is parent
result = Tspi_Context_RegisterKey( hContext, hMSigningKey,
TSS_PS_TYPE_SYSTEM,
migratableSignUUID,
TSS_PS_TYPE_SYSTEM,
SRKUUID );
if ( (result != TSS_SUCCESS) &&
//.........这里部分代码省略.........
开发者ID:juliarahmawati,项目名称:testsuite,代码行数:101,代码来源:Tspi_Context_GetKeyByUUID04.c
示例8: find_opaque_objects
int
find_opaque_objects(CK_FUNCTION_LIST *funcs,
CK_SESSION_HANDLE sess,
struct object **objs_to_migrate)
{
CK_RV rv;
CK_OBJECT_HANDLE *handles = NULL, tmp;
CK_ULONG ulObjectCount = 0, ulTotalCount = 0;
CK_ATTRIBUTE attrs[] = {
{ CKA_IBM_OPAQUE, NULL, 0 },
{ CKA_CLASS, NULL, 0 },
{ CKA_KEY_TYPE, NULL, 0 }
};
int i, rc;
/* Find all objects in the store */
rv = funcs->C_FindObjectsInit(sess, NULL_PTR, 0);
if (rv != CKR_OK) {
p11_error("C_FindObjectsInit", rv);
print_error("Error finding CCA key objects");
return 1;
}
while (1) {
rv = funcs->C_FindObjects(sess, &tmp, 1, &ulObjectCount);
if (rv != CKR_OK) {
p11_error("C_FindObjects", rv);
print_error("Error finding CCA key objects");
free(handles);
return 1;
}
if (ulObjectCount == 0)
break;
handles = realloc(handles, sizeof(CK_OBJECT_HANDLE) * (++ulTotalCount));
if (!handles) {
print_error("Malloc of %lu bytes failed!", ulTotalCount);
break;
}
handles[ulTotalCount - 1] = tmp;
}
if (v_flag > 1)
printf("Found %lu PKCS#11 objects to examine\n", ulTotalCount);
/* Don't care if this fails */
funcs->C_FindObjectsFinal(sess);
/* At this point we have an array with handles to every object in the store. We only care
* about those with a CKA_IBM_OPAQUE attribute, so whittle down the list accordingly */
for (tmp = 0; tmp < ulTotalCount; tmp++) {
rv = funcs->C_GetAttributeValue(sess, handles[tmp], attrs, 3);
if (rv != CKR_OK) {
p11_error("C_GetAttributeValue", rv);
print_error("Error finding CCA key objects");
free(handles);
return 1;
}
/* If the opaque attr DNE for this object, move to the next one */
if (attrs[0].ulValueLen == ((CK_ULONG)-1))
continue;
/* Allocate space in the template for the actual data */
for (i = 0; i < 3; i++) {
attrs[i].pValue = malloc(attrs[i].ulValueLen);
if (!attrs[i].pValue) {
print_error("Malloc of %lu bytes failed!", attrs[i].ulValueLen);
free(handles);
return 1;
}
}
/* Pull in the actual data */
rv = funcs->C_GetAttributeValue(sess, handles[tmp], attrs, 3);
if (rv != CKR_OK) {
p11_error("C_GetAttributeValue", rv);
print_error("Error getting object attributes");
free(handles);
return 1;
}
rc = add_object(handles[tmp], attrs, objs_to_migrate);
if (rc) {
free(handles);
return 1;
}
for (i = 0; i < 3; i++) {
free(attrs[i].pValue);
attrs[i].pValue = NULL_PTR;
attrs[i].ulValueLen = 0;
}
}
free(handles);
return 0;
}
开发者ID:BillTheBest,项目名称:OpenCryptoki,代码行数:100,代码来源:cca_migrate.c
示例9: main
int
main(int argc, char *argv[])
{
int opt, c_flag = 0;
CK_SLOT_ID slot_id = 0;
char *so_pin = NULL, *user_pin = NULL, *data_store = NULL;
CK_FUNCTION_LIST *funcs;
CK_ULONG slot_count;
CK_SESSION_HANDLE sess;
CK_RV rv;
struct object *objs_to_migrate = NULL, *tmp, *to_free;
int exit_code = 0, rc;
lib_csulcca = dlopen("libcsulcca.so", (RTLD_GLOBAL | RTLD_NOW));
if (lib_csulcca == NULL) {
print_error("Couldn't get a handle to the CCA library.");
return NULL;
}
CSNDKTC = dlsym(lib_csulcca, "CSNDKTC_32");
CSNBKTC = dlsym(lib_csulcca, "CSNBKTC_32");
while ((opt = getopt(argc, argv, "c:d:s:u:nvh")) != -1) {
switch (opt) {
case 'c':
c_flag++;
slot_id = atoi(optarg);
break;
case 'd':
data_store = strdup(optarg);
break;
case 's':
so_pin = strdup(optarg);
break;
case 'u':
user_pin = strdup(optarg);
break;
case 'n':
n_flag++;
break;
case 'v':
v_flag++;
break;
case 'h':
usage(argv[0]);
return 0;
default:
usage(argv[0]);
return 1;
}
}
if (!c_flag || !data_store || !so_pin || !user_pin) {
usage(argv[0]);
return 1;
}
if (n_flag)
printf("Dry-run of migration in progress\n");
funcs = p11_init();
if (!funcs) {
return 2;
}
rv = funcs->C_GetSlotList(TRUE, NULL_PTR, &slot_count);
if (rv != CKR_OK) {
p11_error("C_GetSlotList", rv);
exit_code = 3;
goto finalize;
}
if (slot_id >= slot_count) {
print_error("%lu is not a valid slot ID.", slot_id);
exit_code = 4;
goto finalize;
}
if (v_flag > 1)
printf("Slot id %lu is valid\n", slot_id);
/* Open a r/w session */
rv = funcs->C_OpenSession(slot_id, CKF_RW_SESSION|CKF_SERIAL_SESSION, NULL_PTR, NULL_PTR, &sess);
if (rv != CKR_OK) {
p11_error("C_OpenSession", rv);
exit_code = 5;
goto finalize;
}
if (v_flag > 1)
printf("PKCS#11 r/w session opened\n");
/* Login as the SO just validate the supplied pin */
rv = funcs->C_Login(sess, CKU_SO, (CK_BYTE *)so_pin, strlen(so_pin));
//.........这里部分代码省略.........
开发者ID:BillTheBest,项目名称:OpenCryptoki,代码行数:101,代码来源:cca_migrate.c
示例10: run_script
/* Run an entry from the script SCRIPT. HEAP is used for the
command-line buffer. If an error occurs, return non-zero, otherwise
return zero. */
int
run_script (char *script, char *heap)
{
char *old_entry;
char *cur_entry = script;
/* Initialize the data. */
init_cmdline (0);
while (1)
{
struct builtin *builtin;
char *arg;
print_error ();
if (errnum)
{
grub_cln_recovery_shell (grub_cln_loaded_from_spi);
}
/* Copy the first string in CUR_ENTRY to HEAP. */
old_entry = cur_entry;
while (*cur_entry++)
;
grub_memmove (heap, old_entry, cur_entry - old_entry);
if (! *heap)
{
/* If there is no more command in SCRIPT... */
/* If any kernel is not loaded, just exit successfully. */
if (kernel_type == KERNEL_TYPE_NONE)
return 0;
/* Otherwise, the command boot is run implicitly. */
grub_memmove (heap, "boot", 5);
}
/* Find a builtin. */
builtin = find_command (heap);
if (! builtin)
{
grub_verbose_printf ("%s\n", old_entry);
continue;
}
if (! (builtin->flags & BUILTIN_NO_ECHO))
grub_verbose_printf ("%s\n", old_entry);
/* If BUILTIN cannot be run in the command-line, skip it. */
if (! (builtin->flags & BUILTIN_CMDLINE))
{
errnum = ERR_UNRECOGNIZED;
continue;
}
/* Invalidate the cache, because the user may exchange removable
disks. */
buf_drive = -1;
/* Run BUILTIN->FUNC. */
arg = skip_to (1, heap);
(builtin->func) (arg, BUILTIN_SCRIPT);
}
}
开发者ID:QuestOS,项目名称:Support,代码行数:69,代码来源:cmdline.c
示例11: main
main(int argc, char *argv[]) {
register int x,m=0;
char *cl;
char w[256];
char tfile[L_tmpnam];
int subs,slims,sides,drinks,allow;
char name[32];
char phone[10];
char address[64];
FILE *tfp,*order;
printf("Content-type: text/html%c%c",LF,LF);
cl=getenv("QUERY_STRING");
if((!cl) || (!cl[0]))
dump_form();
tmpnam(tfile);
if(!(tfp=fopen(tfile,"w"))) {
printf("<TITLE>Server Error</TITLE>%c",LF);
printf("<H1>Server Error</H1>%c",LF);
printf("Server unable to get a temporary file. Please try again later.<P>%c",LF);
exit(1);
}
subs=0;slims=0;sides=0;drinks=0;allow=0;
name[0]='\0';
phone[0]='\0';
address[0]='\0';
for(x=0;cl[0] != '\0'; x++) {
m=x;
getword(w,cl,'=');
plustospace(w);
unescape_url(w);
if(!strcmp(w,"pwd")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
allow=(strcmp(w,PASSWORD) ? 0 : 1);
}
if(!strcmp(w,"sub")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
subs |= (1 << atoi(w));
}
else if(!strcmp(w,"slj")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
slims |= (1 << atoi(w));
}
else if(!strcmp(w,"sde")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
sides |= (1 << atoi(w));
}
else if(!strcmp(w,"pop")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
drinks |= (1 << atoi(w));
}
else if(!strcmp(w,"name")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
strcpy(name,w);
}
else if(!strcmp(w,"phone")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
strcpy(phone,w);
}
else if(!strcmp(w,"adr")) {
getword(w,cl,'&');
plustospace(w);
unescape_url(w);
strcpy(address,w);
}
}
if(!name[0]) print_error("you didn't give your name");
if(!address[0]) print_error("you didn't give your address");
if(!phone[0]) print_error("you didn't give your phone number");
if((!subs) && (!slims) && (!sides) && (!drinks)) print_error("you didn't order anything");
if(allow) {
char t[256];
sprintf(t,"/bin/mail %s",JJ_FAX);
if(!(order=popen(t,"w")))
print_error("the server was unable to open a pipe to mail");
printf("<TITLE>Order Sent</TITLE>%c",LF);
printf("<H1>Order Sent</H1>%c",LF);
printf("Your order has been sent to the UIUC e-mail to FAX gateway.<P>%c",LF);
} else {
printf("<TITLE>Your Order</TITLE>%c",LF);
//.........这里部分代码省略.........
开发者ID:paulpjryan,项目名称:http-request-server,代码行数:101,代码来源:jj.c
示例12: cmd_playlist_type
void
cmd_playlist_type (xmmsc_connection_t *conn, gint argc, gchar **argv)
{
gchar *name;
xmmsv_coll_type_t prevtype, newtype;
xmmsc_result_t *res;
xmmsv_t *val;
xmmsv_coll_t *coll;
/* Read playlist name */
if (argc < 4) {
print_error ("usage: type_playlist [playlistname] [type] [options]");
}
name = argv[3];
/* Retrieve the playlist operator */
res = xmmsc_coll_get (conn, name, XMMS_COLLECTION_NS_PLAYLISTS);
xmmsc_result_wait (res);
val = xmmsc_result_get_value (res);
if (xmmsv_is_error (val)) {
print_error ("%s", xmmsv_get_error_old (val));
}
xmmsv_get_coll (val, &coll);
prevtype = xmmsv_coll_get_type (coll);
/* No type argument, simply display the current type */
if (argc < 5) {
print_info (get_playlist_type_string (prevtype));
/* Type argument, set the new type */
} else {
gint typelen;
gint idlistsize;
xmmsc_result_t *saveres;
xmmsv_coll_t *newcoll;
gint i;
typelen = strlen (argv[4]);
if (g_ascii_strncasecmp (argv[4], "list", typelen) == 0) {
newtype = XMMS_COLLECTION_TYPE_IDLIST;
} else if (g_ascii_strncasecmp (argv[4], "queue", typelen) == 0) {
newtype = XMMS_COLLECTION_TYPE_QUEUE;
} else if (g_ascii_strncasecmp (argv[4], "pshuffle", typelen) == 0) {
newtype = XMMS_COLLECTION_TYPE_PARTYSHUFFLE;
/* Setup operand for party shuffle (set operand) ! */
if (argc < 6) {
print_error ("Give the source collection for the party shuffle");
}
} else {
print_error ("Invalid playlist type (valid types: list, queue, pshuffle)");
}
/* Copy collection idlist, attributes and operand (if needed) */
newcoll = xmmsv_coll_new (newtype);
idlistsize = xmmsv_coll_idlist_get_size (coll);
for (i = 0; i < idlistsize; i++) {
guint id;
xmmsv_coll_idlist_get_index (coll, i, &id);
xmmsv_coll_idlist_append (newcoll, id);
}
xmmsv_coll_attribute_foreach (coll, coll_copy_attributes, newcoll);
if (newtype == XMMS_COLLECTION_TYPE_PARTYSHUFFLE) {
playlist_setup_pshuffle (conn, newcoll, argv[5]);
}
/* Overwrite with new collection */
saveres = xmmsc_coll_save (conn, newcoll, name, XMMS_COLLECTION_NS_PLAYLISTS);
xmmsc_result_wait (saveres);
if (xmmsc_result_iserror (saveres)) {
print_error ("Couldn't save %s : %s",
name, xmmsc_result_get_error (saveres));
}
xmmsv_coll_unref (newcoll);
xmmsc_result_unref (saveres);
}
xmmsc_result_unref (res);
}
开发者ID:Reilithion,项目名称:xmms2-reilithion,代码行数:87,代码来源:cmd_pls.c
示例13: cmd_list
void
cmd_list (xmmsc_connection_t *conn, gint argc, gchar **argv)
{
gchar *playlist = NULL;
xmmsc_result_t *res;
xmmsv_t *val;
xmmsv_list_iter_t *it;
gulong total_playtime = 0;
gint p = 0;
guint pos = 0;
if (argc > 2) {
playlist = argv[2];
}
res = xmmsc_playlist_current_pos (conn, playlist);
xmmsc_result_wait (res);
val = xmmsc_result_get_value (res);
if (!xmmsv_is_error (val)) {
if (!xmmsv_dict_entry_get_int (val, "position", &p)) {
print_error ("Broken resultset");
}
xmmsc_result_unref (res);
}
res = xmmsc_playlist_list_entries (conn, playlist);
xmmsc_result_wait (res);
val = xmmsc_result_get_value (res);
if (xmmsv_is_error (val)) {
print_error ("%s", xmmsv_get_error_old (val));
}
xmmsv_get_list_iter (val, &it);
while (xmmsv_list_iter_valid (it)) {
xmmsc_result_t *info_res;
xmmsv_t *val_id, *propdict, *info_val;
gchar line[80];
gint playtime = 0;
guint ui;
xmmsv_list_iter_entry (it, &val_id);
if (!xmmsv_get_uint (val_id, &ui)) {
print_error ("Broken resultset");
}
info_res = xmmsc_medialib_get_info (conn, ui);
xmmsc_result_wait (info_res);
propdict = xmmsc_result_get_value (info_res);
info_val = xmmsv_propdict_to_dict (propdict, NULL);
if (xmmsv_is_error (info_val)) {
print_error ("%s", xmmsv_get_error_old (info_val));
}
if (xmmsv_dict_entry_get_int (info_val, "duration", &playtime)) {
total_playtime += playtime;
}
if (val_has_key (info_val, "channel")) {
if (val_has_key (info_val, "title")) {
xmmsc_entry_format (line, sizeof (line),
"[stream] ${title}", info_val);
} else {
xmmsc_entry_format (line, sizeof (line),
"${channel}", info_val);
}
} else if (!val_has_key (info_val, "title")) {
const gchar *url;
gchar dur[10];
xmmsc_entry_format (dur, sizeof (dur),
"(${minutes}:${seconds})", info_val);
if (xmmsv_dict_entry_get_string (info_val, "url", &url)) {
gchar *filename = g_path_get_basename (url);
if (filename) {
g_snprintf (line, sizeof (line), "%s %s", filename, dur);
g_free (filename);
} else {
g_snprintf (line, sizeof (line), "%s %s", url, dur);
}
}
} else {
xmmsc_entry_format (line, sizeof (line), listformat, info_val);
}
if (p == pos) {
print_info ("->[%d/%d] %s", pos, ui, line);
} else {
print_info (" [%d/%d] %s", pos, ui, line);
}
pos++;
xmmsc_result_unref (info_res);
xmmsv_unref (info_val);
xmmsv_list_iter_next (it);
}
//.........这里部分代码省略.........
开发者ID:Reilithion,项目名称:xmms2-reilithion,代码行数:101,代码来源:cmd_pls.c
示例14: main
//.........这里部分代码省略.........
static WCHAR buffer[BUFSIZE];
allocate_console = 1;
initialize_top_level_path(top_level_path, exepath, NULL, 1);
/* set the default exe module */
wcscpy(exe, top_level_path);
swprintf(buffer, BUFSIZE, L"\"%s\"", top_level_path);
PathAppend(exe, msystem_bin);
PathAppend(exe, L"wish.exe");
if (_waccess(exe, 0) != -1)
PathAppend(buffer, msystem_bin);
else {
wcscpy(exe, top_level_path);
PathAppend(exe, L"mingw\\bin\\wish.exe");
PathAppend(buffer, L"mingw\\bin");
}
PathAppend(buffer, L"gitk");
prefix_args = buffer;
prefix_args_len = wcslen(buffer);
}
if (needs_env_setup) {
if (!top_level_path[0])
initialize_top_level_path(top_level_path, exepath,
msystem_bin, -4);
setup_environment(top_level_path, full_path);
}
cmd = fixup_commandline(exepath, &exep, &wait,
prefix_args, prefix_args_len, is_git_command, skip_arguments);
if (working_directory == (LPWSTR)1) {
int len = GetEnvironmentVariable(L"HOME", NULL, 0);
if (len) {
working_directory = malloc(sizeof(WCHAR) * len);
GetEnvironmentVariable(L"HOME", working_directory, len);
}
}
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
DWORD creation_flags = CREATE_UNICODE_ENVIRONMENT;
HANDLE console_handle;
BOOL br = FALSE;
ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
if (allocate_console | show_console)
creation_flags |= CREATE_NEW_CONSOLE;
else if ((console_handle = CreateFile(L"CONOUT$", GENERIC_WRITE,
FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL)) !=
INVALID_HANDLE_VALUE)
CloseHandle(console_handle);
else {
#define STD_HANDLE(field, id) si.hStd##field = GetStdHandle(STD_##id); if (!si.hStd##field) si.hStd##field = INVALID_HANDLE_VALUE
STD_HANDLE(Input, INPUT_HANDLE);
STD_HANDLE(Output, OUTPUT_HANDLE);
STD_HANDLE(Error, ERROR_HANDLE);
si.dwFlags = STARTF_USESTDHANDLES;
creation_flags |= CREATE_NO_WINDOW;
}
if (show_console) {
si.dwFlags |= STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
}
br = CreateProcess(/* module: null means use command line */
exep,
cmd, /* modified command line */
NULL, /* process handle inheritance */
NULL, /* thread handle inheritance */
/* handles inheritable? */
allocate_console ? FALSE : TRUE,
creation_flags,
NULL, /* environment: use parent */
working_directory, /* use parent's */
&si, &pi);
if (br) {
if (wait)
WaitForSingleObject(pi.hProcess, INFINITE);
if (!GetExitCodeProcess(pi.hProcess, (DWORD *)&r))
print_error(L"error reading exit code",
GetLastError());
CloseHandle(pi.hProcess);
}
else {
print_error(L"error launching git", GetLastError());
r = 1;
}
}
free(cmd);
ExitProcess(r);
}
开发者ID:DavidTongxx,项目名称:git,代码行数:101,代码来源:git-wrapper.c
示例15: do_checking
static void
do_checking(Dwarf_Debug dbg, Dwarf_Arange *arange_buf,Dwarf_Signed i,
Dwarf_Off cu_die_offset,Dwarf_Bool first_cu,
Dwarf_Off cu_die_offset_prev, Dwarf_Die cu_die )
{
int dres = 0;
Dwarf_Off cuhdroff = 0;
Dwarf_Off cudieoff3 = 0;
Dwarf_Error checking_err = 0;
dres = dwarf_get_arange_cu_header_offset(
arange_buf[i],&cuhdroff,&checking_err);
if (dres == DW_DLV_OK) {
Dwarf_Off cudieoff2 = 0;
/* Get the CU offset for easy error reporting */
if (first_cu || cu_die_offset != cu_die_offset_prev) {
cu_die_offset_prev = cu_die_offset;
dres = dwarf_die_offsets(cu_die,&DIE_overall_offset,
&DIE_offset,&checking_err);
DIE_CU_overall_offset = DIE_overall_offset;
DIE_CU_offset = DIE_offset;
if (dres != DW_DLV_OK) {
print_error(dbg, "dwarf_die_offsets", dres, checking_err);
}
}
dres = dwarf_get_cu_die_offset_given_cu_header_offset(
dbg,cuhdroff,&cudieoff2,&checking_err);
if (dres == DW_DLV_OK) {
/* Get the CU offset for easy error reporting */
dwarf_die_offsets(cu_die,&DIE_overall_offset,&DIE_offset,&checking_err);
DIE_CU_overall_offset = DIE_overall_offset;
DIE_CU_offset = DIE_offset;
DWARF_CHECK_COUNT(aranges_result,1);
if (cudieoff2 != cu_die_offset) {
printf("Error, cu_die offsets mismatch, 0x%"
DW_PR_DUx
" != 0x%" DW_PR_DUx " from arange data",
cu_die_offset,cudieoff2);
DWARF_CHECK_ERROR(aranges_result,
" dwarf_get_cu_die_offset_given_cu..."
" gets wrong offset");
}
} else {
print_error(dbg, "dwarf_get_cu_die_offset_given...", dres, checking_err);
}
} else {
print_error(dbg, "dwarf_get_arange_cu_header_offset", dres, checking_err);
}
dres = dwarf_get_cu_die_offset(arange_buf[i],&cudieoff3,
&checking_err);
if (dres == DW_DLV_OK) {
DWARF_CHECK_COUNT(aranges_result,1);
if (cudieoff3 != cu_die_offset) {
printf(
"Error, cu_die offsets (b) mismatch , 0x%"
DW_PR_DUx
" != 0x%" DW_PR_DUx " from arange data",
cu_die_offset,cudieoff3);
DWARF_CHECK_ERROR(aranges_result,
" dwarf_get_cu_die_offset "
" gets wrong offset");
}
} else {
print_error(dbg, "dwarf_get_cu_die_offset failed ",
dres,checking_err);
}
}
开发者ID:bergeret,项目名称:libdwarf,代码行数:67,代码来源:print_aranges.c
示例16: main
int main(){
sfd = socket(AF_INET, SOCK_STREAM, 0);
print_error(sfd, "error opening socket");
//setting resuseaddr so that we don't have to constantly wait to the socket to timeout out of it's TIMEWAIT state.
int set = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof(int));
开发者ID:makalaaneesh,项目名称:3-2,代码行数:6,代码来源:client.c
示例17: main_v1_2
int
main_v1_2(char version)
{
char *nameOfFunction = "Tspi_Key_CreateKey-trans01";
TSS_HCONTEXT hContext;
TSS_HTPM hTPM;
TSS_FLAG initFlags;
TSS_HKEY hKey, hWrappingKey, hSigningKey;
TSS_HKEY hSRK;
TSS_RESULT result;
TSS_HPOLICY srkUsagePolicy, keyUsagePolicy;
initFlags = TSS_KEY_TYPE_SIGNING | TSS_KEY_SIZE_2048 |
TSS_KEY_VOLATILE | TSS_KEY_AUTHORIZATION |
TSS_KEY_NOT_MIGRATABLE;
print_begin_test(nameOfFunction);
result = connect_load_all(&hContext, &hSRK, &hTPM);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_Create ", result);
exit(result);
}
result = Testsuite_Transport_Init(hContext, hSRK, hTPM, TRUE, FALSE, &hWrappingKey,
&hSigningKey);
if (result != TSS_SUCCESS) {
print_error("Testsuite_Transport_Init", result);
Tspi_Context_Close(hContext);
exit(result);
}
//Create Object
result =
Tspi_Context_CreateObject(hContext, TSS_OBJECT_TYPE_RSAKEY,
initFlags, &hKey);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_CreateObject", result);
Tspi_Context_Close(hContext);
exit(result);
}
//Create Policy Object
result =
Tspi_Context_CreateObject(hContext, TSS_OBJECT_TYPE_POLICY, TSS_POLICY_USAGE,
&keyUsagePolicy);
if (result != TSS_SUCCESS) {
print_error("Tspi_Context_CreateObject", result);
Tspi_Context_CloseObject(hContext, hKey);
Tspi_Context_Close(hContext);
exit(result);
}
//Set Secret
result =
Tspi_Policy_SetSecret(keyUsagePolicy,
TESTSUITE_KEY_SECRET_MODE,
|
请发表评论