On Sat, Sep 29, 2001 at 09:24:01PM -0400, Calin A. Culianu wrote:
> 
> 
> On Fri, 28 Sep 2001, Victor Yodaiken wrote:
> 
> > You're welcome to send a patch and your tone is fine, but ...
> >     1. Stuart is right, it's easy, just put the function in the rtl_fifos code
>   I am not sure what you are referring to... if you are saying that
> creating a custom function to return fifo size is easy, then yes, I agree
> with that one.. :)
> >     2. I hate adding functions so my question is always "why do you have to have 
>it"?
>   Well, because.  :)  No seriously I think it's a fair feature of a fifo
> for one to be able to query its size and/or fill.  Also, I am being
> particularly anal with respect to my rt-task talking to userland and I
> want to be absolutely sure that I don't have any failed and/or partial
> writes.. the only way to really accomplish this is to have the ability to
> query the fifo size/freeness.  I don't *absolutely* need this feature, but

So you want 
        RT thread 
                if(freebytes(fifofd)>=n)write(fifofd,&b,n)
        
        ??
        and 
                if((i = write(fifofd,&b,n)) < n)
                { /* do something about partial or null write */

                }
        is no good ?

        and 
                // whenever user does a read, it writes to controlfifo 
                // to tell us how many bytes it read

                if(read(controlfifo,&i,sizeof int) == sizeof int){
                        fiforead +=i;
                        }


                if( (fifowritten - fifread) < (fifibuffersie - messagesize) )
                        { // then we can do the write 

                        ....
                        }

        is not nice enough, then I suggest

        RTF_GETSIZE 
        as an added ioctl.

        then send a patch with an optional config option and we'll see
        if anyone else uses it.


> if would make me happy if this feature were included.  :)
> 
> -Calin
> 
> 
> >
> >
> > On Fri, Sep 28, 2001 at 04:21:45PM -0400, Calin A. Culianu wrote:
> > >
> > > I realize the tone of my previous this email seems impatient.. it isn't.
> > > Actually if you guys would honor me with your approval, I can gladly
> > > submit a patch that defines an interface for my proposed solution (a)
> > > below, or one that moves the struct definition of struct rtl_fifo_struct
> > > over to the more public 'rtl_fifo.h' header file. (Since the kernel symbol
> > > rtl_fifos is already exported).
> > >
> > >
> > > Please allow me to be an rt-linux developer!! :)
> > >
> > > -Calin
> > >
> > > ---------- Forwarded message ----------
> > > Date: Fri, 28 Sep 2001 15:35:38 -0400 (EDT)
> > > From: Calin A. Culianu <[EMAIL PROTECTED]>
> > > To: [EMAIL PROTECTED]
> > > Cc: rtl <[EMAIL PROTECTED]>
> > > Subject: RE: [rtl] number of elements in a fifo
> > >
> > > Well, in kernel mode there's no way to tell how full a fifo is (as of rtl
> > > 3.1)!
> > >
> > > Actually, that macro only occurs in rtl_fifo.c, and furthermore, the
> > > exported kernel symbol "rtl_fifos" that the macro really uses is of
> > > type struct rt_fifo_struct, which is a private type inside rtl_fifo.c!
> > >
> > > Why is kernel symbol 'rtl_fifos' exported when its type is private?
> > > It aggravates me!!
> > >
> > > Can someone on the rt-linux dev team either kindly:
> > >
> > > a) create a public interface to find out the size and/or the bytes free in
> > > an rtf (this is trivial, just make a function that returns
> > > rtl_fifos[minor].bufsize, rtl_fifos[minor].len etc).
> > >
> > > OR
> > >
> > > b) make struct rtl_fifo_struct a public struct???? (since the array of
> > > fifos is exported into the kernel symbol table anyway).
> > >
> > > -Calin
> > >
> > > On Fri, 21 Sep 2001, stuart warren wrote:
> > >
> > > > To read how full the fifo is from userspace...
> > > >
> > > >         int bytes_in_fifo;
> > > >         ioctl(rtfifo_fd, FIONREAD, &bytes_in_fifo);
> > > >
> > > > In the kernel you can use...
> > > >
> > > >         bytes_in_fifo = RTF_LEN(fifo_number);
> > > >
> > > > Cheers,
> > > > Stuart
> > > >
> > > > -----Original Message-----
> > > > From: fred august [mailto:[EMAIL PROTECTED]]
> > > > Sent: Thursday, 20 September 2001 6:00
> > > > To: rtl
> > > > Subject: [rtl] number of elements in a fifo
> > > >
> > > >
> > > > Hi,
> > > >      is there a simple way to know how many elements
> > > > are in a FIFO? This should be in RT, or almost, for a
> > > > FIFO between a RT thread and a user space one. I need
> > > > this information in order to dump some of the elements
> > > > if the FIFO is too full.
> > > >
> > > > thanks
> > > >
> > > > f
> > > >
> > > > ______________________________________________________________________
> > > > Do You Yahoo!?
> > > > Il tuo indirizzo gratis e per sempre @yahoo.it su http://mail.yahoo.it
> > > >
> > > > -- [rtl] ---
> > > > To unsubscribe:
> > > > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> > > > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> > > > --
> > > > For more information on Real-Time Linux see:
> > > > http://www.rtlinux.org/
> > > >
> > > > -- [rtl] ---
> > > > To unsubscribe:
> > > > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> > > > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> > > > --
> > > > For more information on Real-Time Linux see:
> > > > http://www.rtlinux.org/
> > > >
> > >
> > >
> > > -- [rtl] ---
> > > To unsubscribe:
> > > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> > > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> > > --
> > > For more information on Real-Time Linux see:
> > > http://www.rtlinux.org/
> >
> > -- [rtl] ---
> > To unsubscribe:
> > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> > --
> > For more information on Real-Time Linux see:
> > http://www.rtlinux.org/
> >
> 
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/

Reply via email to