diff -r c7c26511138f -r 360bd6b35136 imgtools/imglib/e32uid/uidcrc.cpp --- a/imgtools/imglib/e32uid/uidcrc.cpp Wed Jun 16 16:51:40 2010 +0300 +++ b/imgtools/imglib/e32uid/uidcrc.cpp Wed Jun 23 16:56:47 2010 +0800 @@ -1,94 +1,91 @@ -/* -* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#if defined(__MSVCDOTNET__) || defined(__TOOLS2__) - #include - using namespace std; -#endif - -#include -#include -#include -#include -#include - -// Get round the privateness of the checksum etc. -// See also PE_TRAN.CPP TE32ImageUids - -class TCheckedUidX : public TCheckedUid - { -public: - inline TCheckedUidX(TUint uids[3]) - : TCheckedUid(TUidType(TUid::Uid(uids[1]),TUid::Uid(uids[2]),TUid::Uid(uids[3]))) - {} - inline TUint CRC() - { return Check(); } - }; - -int usage() - { - fprintf(stderr, "uidcrc [ ]\n"); - return -1; - } - -int main(int argc, char* argv[]) - { - if (argc<4 || argc>5) - return usage(); - - TUint uids[5]; - int i=0; - - for (i=1; i<4; i++) - { - char* endptr = "failed"; - uids[i] = strtoul(argv[i],&endptr,0); - if (*endptr!='\0') - { - fprintf(stderr, "invalid uid%d >%s<\n",i,argv[i]); - return -1; - } - } - - TCheckedUidX checked(uids); - uids[4] = checked.CRC(); - - if (argc==5) - { - FILE* fp=fopen(argv[4], "wb"); - if (fp==0) - { - fprintf(stderr, "cannot open %s for writing\n", argv[4]); - return -1; - } - for (i=1; i<5; i++) - { - TUint word=uids[i]; - unsigned char bytes[4]; - bytes[0] = (unsigned char)( word &0xFF); - bytes[1] = (unsigned char)((word>> 8)&0xFF); - bytes[2] = (unsigned char)((word>>16)&0xFF); - bytes[3] = (unsigned char)((word>>24)&0xFF); - fwrite(bytes, 4, 1, fp); - } - fclose(fp); - return 0; - } - - printf("0x%08x 0x%08x 0x%08x 0x%08x\n", uids[1], uids[2], uids[3], uids[4]); - return 0; - } +/* +* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +#include +using namespace std; + +#include +#include +#include +#include +#include + +// Get round the privateness of the checksum etc. +// See also PE_TRAN.CPP TE32ImageUids + +class TCheckedUidX : public TCheckedUid + { +public: + inline TCheckedUidX(TUint uids[3]) + : TCheckedUid(TUidType(TUid::Uid(uids[1]),TUid::Uid(uids[2]),TUid::Uid(uids[3]))) + {} + inline TUint CRC() + { return Check(); } + }; + +int usage() + { + fprintf(stderr, "uidcrc [ ]\n"); + return -1; + } + +int main(int argc, char* argv[]) + { + if (argc<4 || argc>5) + return usage(); + + TUint uids[5]; + int i=0; + + for (i=1; i<4; i++) + { + char* endptr = "failed"; + uids[i] = strtoul(argv[i],&endptr,0); + if (*endptr!='\0') + { + fprintf(stderr, "invalid uid%d >%s<\n",i,argv[i]); + return -1; + } + } + + TCheckedUidX checked(uids); + uids[4] = checked.CRC(); + + if (argc==5) + { + FILE* fp=fopen(argv[4], "wb"); + if (fp==0) + { + fprintf(stderr, "cannot open %s for writing\n", argv[4]); + return -1; + } + for (i=1; i<5; i++) + { + TUint word=uids[i]; + unsigned char bytes[4]; + bytes[0] = (unsigned char)( word &0xFF); + bytes[1] = (unsigned char)((word>> 8)&0xFF); + bytes[2] = (unsigned char)((word>>16)&0xFF); + bytes[3] = (unsigned char)((word>>24)&0xFF); + fwrite(bytes, 4, 1, fp); + } + fclose(fp); + return 0; + } + + printf("0x%08x 0x%08x 0x%08x 0x%08x\n", uids[1], uids[2], uids[3], uids[4]); + return 0; + }