Garrett D'Amore wrote:
> I finally took time out to review the case materials (I know very 
> little about Python, although you could argue that I have a fair bit 
> of experience with DLPI), and they look pretty good with the exception 
> mechanism you indicate below.   I guess it should be obvious to most 
> folks that code which uses any of this will require sys_net_rawaccess 
> or some similar privilege to do much.  You might want to indicate that 
> somewhere in the man pages for the library.
Good point.
I'll add this indication into the on-line help of this module to remind 
users that they need to obtain sys_net_rawaccess in order to open a link.

Thanks,
Max
>
>
> (Hmm... now that I see it, libdlpi(3DLPI) has no such note in it... I 
> think that the man page would also be improved by a note indicating 
> that sys_net_rawaccess or similar privilege is likely to be required.)
>
>    -- Garrett
>
> Max Zhen wrote:
>>
>>>>
>>>> But this isn't true.  libdlpi has an entire error space separate from
>>>> errno...  There are dozens of error codes unrelated to errno, and 
>>>> it is
>>>> defined as the union of DL_* errors in <sys/dlpi.h> and DLPI_* 
>>>> errors in
>>>> <libdlpi.h>.  ?Only if the error returned from a libdlpi function is
>>>> DL_SYSERR is errno set to something meaningful.
>>>>   
>>> OK. I can see that it makes sense to add a new exception for libdlpi 
>>> specific error.
>>> So, two exceptions can be raised from this dlpi module:
>>> + OSError - for errors set in errno
>>> + dlpi.error - for dlpi specific error other than DL_SYSERR
>> After some off-line discussion w/ Danek, we agree that it makes sense 
>> to only raise one specific dlpi exception. So, only one exception 
>> will be raise in this module: dlpi.error
>> The accompanying value is:
>>    (dlpi_error_number, string), when it is caused by a dlpi specific 
>> error, or,
>>    (DL_SYSERR, errno, s
>>         mactype(mactype) -> string
>>
>>         Returns a string that describes the specified mactype.
>>         Valid mac types are defined in <sys/dlpi.h>.
>>         See dlpi_mactype(3DLPI)
>>   tring) when the error is coming from a system call.
>> The dlpi_error_number is the error return value, other than 
>> DL_SYSERR, from dlpi_*.
>> The string is used to describe what went wrong during the call.
>>
>> Max
>>>
>>> Max
>>>> -Seb
>>>>
>>>>
>>>>   
>

Reply via email to