discussion related to implementation of File descriptor functions in RTEMS

Joel Sherrill joel at rtems.org
Wed Mar 25 22:00:36 UTC 2020


On Wed, Mar 25, 2020 at 4:09 PM Eshan Dhawan <eshandhawan51 at gmail.com>
wrote:

>
>
> On Thu, Mar 26, 2020 at 1:03 AM Joel Sherrill <joel at rtems.org> wrote:
>
>>
>>
>> On Wed, Mar 25, 2020 at 12:17 AM Eshan Dhawan <eshandhawan51 at gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Wed, Mar 25, 2020 at 4:01 AM Joel Sherrill <joel at rtems.org> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Mar 24, 2020 at 4:57 PM Eshan Dhawan <eshandhawan51 at gmail.com>
>>>> wrote:
>>>>
>>>>> Hello everyone,
>>>>> As @Vaibhav Gupta <vaibhav.varodek at gmail.com> suggested I have also
>>>>> added adding file descriptor functions to my GSOC project.
>>>>> I went through the mailing list archives for more information.
>>>>> RTEMS as its own file descriptor so the functions need to be
>>>>> implemented from scratch.
>>>>> I wanted to get more information related to it.
>>>>>
>>>>
>>>> What's the set of functions you are proposing for those not tracking
>>>> your draft proposal?
>>>>
>>> Link:
>>> https://docs.google.com/document/d/1n-JOFUbFn6V1kViAGWsEGbVHL9MxlMyKP0BbZhEA1Rs/edit?usp=sharing
>>> I haven't searched about the functions in the list yet. The list was
>>> made by Vaibhav, last year and he told me that it could be added to
>>> proposal this year as well.
>>> I read the archives that these need to be written from scratch.
>>>
>>
>>
>> Maybe not. I found at least this implementation of renameat() which was
>> implemented on top of existing calls:
>>
>>
>> https://github.com/lattera/freebsd/blob/master/contrib/openbsm/bin/auditdistd/renameat.h
>>
>> It should be in a C file but that shows it can be done. That directory
>> has a lot of these methods.
>>
>> NOTE: That list has fstat() while I am sure it should be fstatat.
>>
>> The list has fstatat as well.
> I will recheck the list and will run a search to confirm that list doesn't
> contain any function that has been already implemented  :)
>

The COmpliance Guide is an easy place to search for things. Grep for like
"at()" and ignore methods like strcat(). :)

>
>> I would move these up the list since they look easy to port from that
>> source. Convert them from .h to .c, and we can discuss adding them to
>> newlib.
>>
>> @Aditya Upadhyay <aadit0402 at gmail.com> told that need to be added to
> RTEMS libbsd
>

That is the most straightforward way to import non-essential POSIX methods
that we are taking from FreeBSD. But the implementation I found listed
above appears to be completely portable and not require any new system
calls or peeks below POSIX APIs. These are not frequently used methods and
adding them would be good for all newlib users this way.

We just didn't find that implementation in the past. I'm thrilled it
exists. Easier to add.

--joel

>
>> --joel
>>
>>>
>>>
>>>>> thanks
>>>>> -Eshan
>>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200325/c3f962cc/attachment-0001.html>


More information about the devel mailing list