Written in C or Python (Most likely Python) and must compile and or execute under linux so no using win32 calls.
Takes a script file and generates a set of files with values. Possibly XML format. The XML Format is not fixed, so can be changed if there is anything wrong with the Format I have created.
First the Program will create <[login to view URL]> number of files, each of <[login to view URL]> in length. Filenames are called <[login to view URL]>XX.<FileExtension> where XX is a decimal number starting from 00 then 01, 02, etc. Each of these files will be filled with <[login to view URL]> which is either a Random number "random" or 0 "zero".
Once these files have been created then they are modified. Each file modification is specified within <[login to view URL]> the filenumber in the sequence to be modified is specified in <[login to view URL]> within each <[login to view URL]> there can be multiple <value> groups. Each <value> group must have at least one <offset> and one actual value. if there are consecutive <value> then they should be placed incrementaly. So <offset>0</offset><value><char>0x1</char><short>0x1234</short> would appear in the file as
0000 01 34 12 XX XX XX
Values can be one of the following.
<char> 8 bit signed
<uchar> 8 bit unsigned
<byte> Same as char
<ubyte> same as uchar
<short> unsigned short (16 bits)
<ushort> unsigned short (16 bits)
<int> 32 bit Integer
<uint> unsigned 32 bit integer
<long> 64 bit
<ulong> unsigned long 64 bits
<float> float
<double> double precision
The default byte ordering should be little Endian (Intel) that can be overridden by the <Motorola> group to big Endian. i.e. if there is a value <long>0x12345678</ulong> then with the motorola override it will store the bytes in the file starting at byte <offset> as 0x78, 0x56, 0x34, 0x12. The <intel> override should be kept to enforce little endian format. The program will be compiled (if written in C) on Intel 64 bit architecture.
Each section deals with only one file which is specified in <[login to view URL]> there will be multiple groups of <section> and if possible it should be possible to have multiple groups of <section> with the same <Filenumber>
There needs to be some error checking as follows.
- If a value is too large to fit into a <char> for example <char>0x1234</char> should throw a warning at least, better for an error.
- If the XML format is invalid, better to throw an error than try to guess.
- If One of the files cannot be created or Written to, error
- No need to throw a warning if the Filenames already exist. that will always happen.
- If a value is attempted to be written past the end of file, an error should be thrown.
- If a none existent file is attempted to be written to, an error shoudl be thrown.
Other notes
- Files will never be more than 2GB i.e. 32 bits
Hello,
I'd be glad to implement the file creation and processing tool for you. I suggest using Python for this. Looking forward to chat with you soon for more details.
Best regards,
Hi,
I am competitive to this kind of task, can take good care of this project. In fact, I already done related to this job before. Let me know the best of your time so we can discuss further based on your requirements and we can move forward to the next step.
Thanks,
Joseph C Ocero
Hello. More 20 years programming experience.
I need more details to set real time and price.
Regards.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I have 5+ years of experience in C, with in-depth knowledge of Data Structure and Operating System. Also, I have 4+ years of experience on working with BIOS/UEFI and knowledge of working with XML, which completely based on C. I have worked with companies like Samsung and Intel as software developer.