
On Tue, Oct 20, 2009 at 05:27:04PM +0400, Tuma wrote:
Hi, All!
It seems I have a trouble. I want to use onenand_block_read function. So I've written a cover for it:
int OneNANDBlockRead (loff_t _from, ssize_t _len, ssize_t *_retlen, u_char *_buf, int _oob) { int lRet;
return lRet; }
You wrote a function that does nothing but return an uninitialized stack value?
When I do from this fuction: printf ("Reading from: 0x%X, Length: 0x%X\n", _from, _len); I get _len and _form swapped. What's wrong?
For one, if that's the same _from as in OneNANDBlockRead, you're using the wrong printf formats. You need %llX for loff_t (you may want to cast to unsigned long long just in case the type of loff_t varies), and %zX for ssize_t. Please pay attention to complier warnings.
I tryed to pass _from and _len as pointers - pointer addresses are correct but printf ("Reading from: 0x%X\n", *_from); printf ("Reading Length: 0x%X\n", *_len); return swapped result again.
This is how I call OneNANDBlockRead function: static const ssize_t lLen = 0x20; static const ulong lLT = 0x00260000; OneNANDBlockRead (&lLT, &lLen, &retlen, lEnvironment, 0);
You're passing pointers to integer arguments. Please pay attention to compiler warnings.
-Scott