Ignore:
Timestamp:
Oct 17, 2019, 3:14:01 PM (5 years ago)
Author:
alain
Message:

Introduce FBF related syscalls.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libs/mini-libc/stdio.c

    r628 r643  
    399399}  // end fclose()
    400400
     401//////////////////////////////////////////
     402unsigned int fread( void         * buffer,
     403                    unsigned int   size,
     404                    unsigned int   nitems,
     405                    FILE         * stream )
     406{
     407    // check stream valid
     408    if( stream->key != VALID_OPEN_FILE ) return EOF;
     409
     410    // get file descriptor from stream pointer
     411    int fd = stream->fd;
     412
     413    // compute nbytes
     414    unsigned int nbytes = size * nitems;
     415
     416    if( hal_user_syscall( SYS_READ,
     417                          (reg_t)fd,
     418                          (reg_t)buffer,
     419                          (reg_t)nbytes, 0 ) == nbytes ) return nitems;
     420    else return 0;
     421
     422}  // end fread()
     423
     424//////////////////////////////////////////
     425unsigned int fwrite( void         * buffer,
     426                     unsigned int   size,
     427                     unsigned int   nitems,
     428                     FILE         * stream )
     429{
     430    // check stream valid
     431    if( stream->key != VALID_OPEN_FILE ) return EOF;
     432
     433    // get file descriptor from stream pointer
     434    int fd = stream->fd;
     435
     436    // compute nbytes
     437    unsigned int nbytes = size * nitems;
     438
     439    if( hal_user_syscall( SYS_WRITE,
     440                          (reg_t)fd,
     441                          (reg_t)buffer,
     442                          (reg_t)nbytes, 0 ) == nbytes ) return nitems;
     443    else return 0;
     444
     445}  // end fwrite()
     446
    401447/////////////////////////////////
    402448int fprintf( FILE       * stream,
Note: See TracChangeset for help on using the changeset viewer.