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)/libnflog.a \
|
||||||
$(NFAST_LIBPATH)/libcutils.a -lm \
|
$(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
|
else # !USE_HSM
|
||||||
|
|
||||||
# HSMが使用できない場合は、DUMMY_KEYを使ってテストする。
|
# HSMが使用できない場合は、DUMMY_KEYを使ってテストする。
|
||||||
@ -140,7 +135,7 @@ package_build :
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
$(TARGET): $(OBJS)
|
$(TARGET): $(OBJS)
|
||||||
$(LD) $(LDFLAGS) $(OBJS) -o $@ $(LDLIBS) $(NFAST_OBJS_LIST)
|
$(LD) $(LDFLAGS) $(OBJS) -o $@ $(LDLIBS)
|
||||||
|
|
||||||
$(OBJS): $(HEADS) Makefile
|
$(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,
|
int my_bignumreceiveupcall(struct NFast_Application *app,
|
||||||
struct NFast_Call_Context *cctx,
|
struct NFast_Call_Context *cctx,
|
||||||
struct NFast_Transaction_Context *tctx,
|
struct NFast_Transaction_Context *tctx,
|
||||||
@ -50,7 +105,7 @@ int my_bignumreceiveupcall(struct NFast_Application *app,
|
|||||||
if ( !pBN ) return NOMEM;
|
if ( !pBN ) return NOMEM;
|
||||||
alloc_counter++;
|
alloc_counter++;
|
||||||
|
|
||||||
nfutil_copybytes(pBN->bytes, (const unsigned char *)source,
|
my_util_copybytes(pBN->bytes, (const unsigned char *)source,
|
||||||
nbytes, 0, 0);
|
nbytes, 0, 0);
|
||||||
|
|
||||||
pBN->msb_first = msbitfirst;
|
pBN->msb_first = msbitfirst;
|
||||||
@ -93,7 +148,7 @@ int my_bignumsendupcall(struct NFast_Application *app,
|
|||||||
|
|
||||||
swapends = (!msbitfirst) ^ (!pBN->msb_first);
|
swapends = (!msbitfirst) ^ (!pBN->msb_first);
|
||||||
swapwords = (!mswordfirst) ^ (!pBN->msw_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 );
|
swapends, swapwords );
|
||||||
return Status_OK;
|
return Status_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user