>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

Reply via email to