mirror of
https://github.com/rvtr/ctr_eFuse.git
synced 2025-11-02 00:11:04 -04:00
サンプルのオブジェクトnfutil.oを除外し、そのうちの関数nfutil_copybytesだけもらってくる
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@148 ff987cc8-cf2f-4642-8568-d52cce064691
This commit is contained in:
parent
e4e240482b
commit
1f5eba052d
7
Makefile
7
Makefile
@ -50,11 +50,6 @@ NFAST_LDLIBS = \
|
||||
$(NFAST_LIBPATH)/libnflog.a \
|
||||
$(NFAST_LIBPATH)/libcutils.a -lm \
|
||||
|
||||
# nFast OBJS
|
||||
NFAST_OBJS_PATH = $(NFAST_EXAMPLES)/nfuser/build-gcc-lib
|
||||
NFAST_OBJS_LIST = \
|
||||
$(NFAST_OBJS_PATH)/nfutil.o \
|
||||
|
||||
else # !USE_HSM
|
||||
|
||||
# HSMが使用できない場合は、DUMMY_KEYを使ってテストする。
|
||||
@ -140,7 +135,7 @@ package_build :
|
||||
endif
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
$(LD) $(LDFLAGS) $(OBJS) -o $@ $(LDLIBS) $(NFAST_OBJS_LIST)
|
||||
$(LD) $(LDFLAGS) $(OBJS) -o $@ $(LDLIBS)
|
||||
|
||||
$(OBJS): $(HEADS) Makefile
|
||||
|
||||
|
||||
@ -34,6 +34,61 @@ static int alloc_counter = 0;
|
||||
|
||||
/* --------------------- */
|
||||
|
||||
// original : nfutil_copybytes ( nfutil.c )
|
||||
static void my_util_copybytes ( unsigned char *dst, const unsigned char *src,
|
||||
unsigned nbytes, int swapends, int swapwords )
|
||||
{
|
||||
int inc;
|
||||
unsigned nwords;
|
||||
|
||||
/* Copies dst to src, swapping endianness and/or word order. dst and src mustn't overlap! */
|
||||
|
||||
assert( (nbytes & 3)==0 ); /* Must be whole number of M_Words */
|
||||
|
||||
if ( !swapends && !swapwords )
|
||||
{
|
||||
memcpy(dst, src, nbytes);
|
||||
return;
|
||||
}
|
||||
|
||||
if ( swapwords )
|
||||
{
|
||||
dst += (nbytes-4);
|
||||
inc=-4;
|
||||
}
|
||||
else
|
||||
inc=4;
|
||||
|
||||
nwords = nbytes>>2;
|
||||
|
||||
if ( swapends )
|
||||
{
|
||||
while ( nwords-- > 0 )
|
||||
{
|
||||
dst[0]=src[3];
|
||||
dst[1]=src[2];
|
||||
dst[2]=src[1];
|
||||
dst[3]=src[0];
|
||||
dst += inc;
|
||||
src += 4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while ( nwords-- > 0 )
|
||||
{
|
||||
dst[0]=src[0];
|
||||
dst[1]=src[1];
|
||||
dst[2]=src[2];
|
||||
dst[3]=src[3];
|
||||
dst += inc;
|
||||
src += 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* --------------------- */
|
||||
|
||||
int my_bignumreceiveupcall(struct NFast_Application *app,
|
||||
struct NFast_Call_Context *cctx,
|
||||
struct NFast_Transaction_Context *tctx,
|
||||
@ -50,7 +105,7 @@ int my_bignumreceiveupcall(struct NFast_Application *app,
|
||||
if ( !pBN ) return NOMEM;
|
||||
alloc_counter++;
|
||||
|
||||
nfutil_copybytes(pBN->bytes, (const unsigned char *)source,
|
||||
my_util_copybytes(pBN->bytes, (const unsigned char *)source,
|
||||
nbytes, 0, 0);
|
||||
|
||||
pBN->msb_first = msbitfirst;
|
||||
@ -93,7 +148,7 @@ int my_bignumsendupcall(struct NFast_Application *app,
|
||||
|
||||
swapends = (!msbitfirst) ^ (!pBN->msb_first);
|
||||
swapwords = (!mswordfirst) ^ (!pBN->msw_first);
|
||||
nfutil_copybytes( (unsigned char *)dest, (*bignum)->bytes, nbytes,
|
||||
my_util_copybytes( (unsigned char *)dest, (*bignum)->bytes, nbytes,
|
||||
swapends, swapwords );
|
||||
return Status_OK;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user