>From [EMAIL PROTECTED] Mon Jul 3 16:56:45 2000
>> >From reading the source:
>>
>> case SG_SET_RESERVED_SIZE:
>> /* currently ignored, future extension */
>> if (O_RDWR != (filp->f_flags & O_ACCMODE))
>> return -EACCES;
>> result = verify_area(VERIFY_READ, (const void *)arg, sizeof(int));
>> if (result) return result;
>> return 0;
>> case SG_GET_RESERVED_SIZE:
>> result = verify_area(VERIFY_WRITE, (void *) arg, sizeof(int));
>> if (result) return result;
>> put_user(sfp->fb_size, (int *)arg);
>> return 0;
>>
>> As you see the March 99 version if sg.c implemented SG_SET_RESERVED_SIZE as NO-OP.
>>
>> For this reason, I mailed to the maintainer but he was either unwilling or unable
>> to understand that this is unreliable code which I cannot support.
>For a start, _not_ implementing SG_SET_RESERVED_SIZE fits in
>with the protocol of calling the "SET" with the size that
>you want followed by the "GET" to see if you got it.
It seems that you did not understand how interfaces in a POSIX enviroment
are implemented:
- Call syscall of ioctl() function with parameters
- Check return value
- If return value >= 0, operation worked as expected
- If return value == -1, operation did not work