Ignore:
Timestamp:
Nov 20, 2020, 12:18:00 AM (3 years ago)
Author:
alain
Message:

Introduce the fgetc() and fputc() functions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libs/mini-libc/unistd.h

    r650 r677  
    3535
    3636/*****************************************************************************************
    37  * This function implements the "alarm" system call.
    38  * sets a timer to deliver the signal SIGALRM to the calling process,
     37 * This function implements the <alarm> system call.
     38 * It sets a timer to deliver the signal SIGALRM to the calling process,
    3939 * after the specified number of seconds.
    4040 * If an alarm has already been set with alarm() but has not been delivered,
     
    4949
    5050/*****************************************************************************************
    51  * This function implements the "chdir" system call.
     51 * This function implements the <chdir> system call.
    5252 * It changes the current working directory in the reference process descriptor.
    5353 *****************************************************************************************
     
    5858
    5959/*****************************************************************************************
    60  * This function implements the "close" system call.
     60 * This function implements the <close> system call.
    6161 * It releases the memory allocated for the file identified by the <fd> argument,
    6262 * and remove the fd array_entry in all process descriptor copies.
     
    6868
    6969/*****************************************************************************************
    70  * This function implement the "exec" system call.
     70 * This function implement the <exec> system call.
    7171 * It creates, in the same cluster as the calling thread, a new process descriptor,
    7272 * and a new associated main thread descriptor, executing a new memory image defined
     
    7878 * as defined by the <arv> argument, and the new process environment variables,
    7979 * as defined by the <envp>  argument.
    80  * TODO : the <argv> and <envp> arguments are not supported yet (both must be NULL).
     80 * TODO : the <envs> argument is not supported yet (must be NULL).
    8181 *****************************************************************************************
    8282 * @ filename : string pointer on .elf filename (virtual pointer in user space)
    83  * @ argv     : array of strings on process arguments (virtual pointers in user space)
    84  * @ envp     : array of strings on environment variables (virtual pointers in user space)
     83 * @ args     : array of pointers on process arguments (strings in user space)
     84 * @ envs     : array of pointers on environment variables (strings in user space)
    8585 * @ does not return if success / returns -1 if failure.
    8686 ****************************************************************************************/
    8787int execve( char  * filename,
    88             char ** argv,
    89             char ** envp );
    90 
    91 /*****************************************************************************************
    92  * This function implement the "fork" system call.
     88            char ** args,
     89            char ** envs );
     90
     91/*****************************************************************************************
     92 * This function implement the <fork> system call.
    9393 * The calling process descriptor (parent process), and the associated thread descriptor
    9494 * are replicated in a - likely - remote cluster, that becomes the new process owner.
     
    106106
    107107/*****************************************************************************************
    108  * This function implements the "fsync" system call.
     108 * This function implements the <fsync> system call.
    109109 * It causes all the modified data and attributes of file identified by the <fd> argument
    110110 * to be copied from the file mapper and file descriptor to the IOC device.
     
    116116
    117117/*****************************************************************************************
    118  * This function implements the "getcwd" system call.
     118 * This function implements the <getcwd> system call.
    119119 * It returns the pathname of the current working directory.
    120120 *****************************************************************************************
     
    127127
    128128/*****************************************************************************************
    129  * This function implements the "getpid" system call.
     129 * This function implements the <getpid> system call.
    130130 * It returns the process identifier.
    131131 *****************************************************************************************
     
    135135
    136136/*****************************************************************************************
    137  * This function implements the "isatty" system call.
     137 * This function implements the <isatty> system call.
    138138 * It test whether a file descriptor refers to a terminal.
    139139 *****************************************************************************************
     
    144144
    145145/*****************************************************************************************
    146  * This function implements the "lseek" system call.
     146 * This function implements the <lseek> system call.
    147147 * It repositions the offset of the file descriptor identified by <fd>,
    148148 * according to the operation type defined by the <whence> argument.
     
    158158
    159159/*****************************************************************************************
    160  * This function implements the "pause" system call.
     160 * This function implements the <pause> system call.
    161161 * It stops the calling process until a signal is received.
    162162 *****************************************************************************************
     
    166166
    167167/*****************************************************************************************
    168  * This function implements the "pipe" system call.
     168 * This function implements the <pipe> system call.
    169169 * It creates in the calling thread cluster an unnamed pipe, and two (read and write)
    170170 * file descriptors to access this pipe. The argument is a pointer a fd[] array.
    171  * TODO not implemented yet...
    172  *****************************************************************************************
    173  * @ fd[0] : [out] read only file descriptor index.
    174  * @ fd[1] : [out] write only file descriptor index.
     171 *****************************************************************************************
     172 * @ fd[0] : [out] buffer for read only file descriptor index.
     173 * @ fd[1] : [out] buffer for write only file descriptor index.
    175174 * @ return 0 if success / return -1 if failure.
    176175 ****************************************************************************************/
     
    178177
    179178/*****************************************************************************************
    180  * This function implements the "read" system call.
     179 * This function implements the <read> system call.
    181180 * It reads bytes from an open file identified by the <fd> file descriptor.
    182181 * This file can be a regular file or a character oriented device.
    183182 *****************************************************************************************
    184  * @ fd       : open file index in fd_array.
     183 * @ fd       : file index in fd_array.
    185184 * @ buf      : buffer virtual address in user space.
    186185 * @ count    : number of bytes.
     
    192191
    193192/*****************************************************************************************
    194  * This function implements the "rmdir" system call.
     193 * This function implements the <rmdir> system call.
    195194 * It removes a directory file whose name is given by <pathname>.
    196195 * The directory must not contain any entries other than `.' and `..'.
     
    202201
    203202/*****************************************************************************************
    204  * This function implements the "sync" system call.
     203 * This function implements the <sync> system call.
    205204 * It forces all kernel mappers (file caches) to be copied to the IOC device.
    206205 ****************************************************************************************/
     
    208207
    209208/*****************************************************************************************
    210  * This function implements the "unlink" system call.
     209 * This function implements the <unlink> system call.
    211210 * It removes a directory entry identified by the <pathname> from the parent directory,
    212211 * and decrement the link count of the file referenced by the link.
     
    222221
    223222/*****************************************************************************************
    224  * This function implements the "write" system call.
     223 * This function implements the <write> system call.
    225224 * It writes bytes to an open file identified by the <fd> file descriptor.
    226225 * This file can be a regular file or character oriented device.
    227226 *****************************************************************************************
    228  * @ fd       : open file index in fd_array.
     227 * @ fd       : file index in fd_array.
    229228 * @ buf      : buffer virtual address in user space.
    230229 * @ count    : number of bytes.
Note: See TracChangeset for help on using the changeset viewer.