From 8fca7addd90ba1ce334058b397c0d51c3de4dcb2 Mon Sep 17 00:00:00 2001 From: kubodera_yuichi Date: Fri, 25 Dec 2009 01:55:36 +0000 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=9C=9F=E5=8C=96=E3=81=AE=E6=99=82?= =?UTF-8?q?=E3=82=82=E3=82=A8=E3=83=A9=E3=83=BC=E3=83=90=E3=83=83=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=92=E5=BC=95=E6=95=B0=E3=81=AB=E5=8F=96=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E5=A4=89=E6=9B=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@91 ff987cc8-cf2f-4642-8568-d52cce064691 --- cr_generate_id.c | 12 +++++++++++- cr_generate_id.h | 2 +- main.c | 5 +++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/cr_generate_id.c b/cr_generate_id.c index 12d5f14..149cce6 100644 --- a/cr_generate_id.c +++ b/cr_generate_id.c @@ -133,14 +133,24 @@ static u64 generatingCount = 0; // 現在生成中のID(起動時からの通算 int cr_print_flag = 0; // generate_id関数のイニシャライズ -int cr_generate_id_initialize( void ) +int cr_generate_id_initialize( u8 id_buf[CR_ID_BUF_SIZE] ) { int ret_code = CR_GENID_SUCCESS; + // 生成カウンタの初期化 + generatingCount = 0; + #ifdef USE_HSM ret_code = hsm_initialize(); if ( ret_code != CR_GENID_SUCCESS ) { + CR_ERR_BUFFER *cr_err_buf = (CR_ERR_BUFFER *)id_buf; + memset( cr_err_buf, 0, sizeof( CR_ERR_BUFFER ) ); + cr_err_buf->errorCode = ret_code; + GetErrorInfo( cr_err_buf->callStack, &cr_err_buf->recordSize ); +#ifdef DEBUG_PRINT + printf( "CALL_STACK : %s\n", cr_err_buf->callStack ); +#endif return 0; } #endif diff --git a/cr_generate_id.h b/cr_generate_id.h index f429e00..5014479 100644 --- a/cr_generate_id.h +++ b/cr_generate_id.h @@ -201,7 +201,7 @@ typedef unsigned long long u64; #define CR_ID1_MASK 0x00000003FFFFFFFFll // 34bit #define CR_ID2_MASK 0xFFFFFFFFFFFFFFFFll // 64bit -extern int cr_generate_id_initialize( void ); +extern int cr_generate_id_initialize( u8 id[CR_ID_BUF_SIZE] ); extern int cr_generate_id( u32 serial[CR_NUM_OF_SERIAL], u8 id[CR_ID_BUF_SIZE], u8 bondingOption ); extern int cr_generate_id_finalize( void ); diff --git a/main.c b/main.c index c43ea1d..9cfe02f 100644 --- a/main.c +++ b/main.c @@ -201,9 +201,10 @@ int main(int ac, char *argv[]) counter2 = 0x0000000000000000ll; // cr_generate_id を使用する前に呼び出す - if ( !cr_generate_id_initialize() ) + ret_code = cr_generate_id_initialize( id ); + if ( ret_code != CR_GENID_INITIALIZE_OK ) { - printf( "error : cr_generate_id_initialize()\n" ); + printf( "error(%d) : cr_generate_id_initialize\n", ret_code ); return 0; // error }