Ignore:
Timestamp:
Jan 13, 2021, 12:36:17 AM (3 years ago)
Author:
alain
Message:

All modifications required to support the <tcp_chat> application
including error recovery in case of packet loss.A

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/syscalls/syscalls.h

    r670 r683  
    3838
    3939/******************************************************************************************
    40  * This function forces the calling thread to sleep, for a fixed number of cycles.
    41  ******************************************************************************************
    42  * cycles   : number of cycles.
    43  *****************************************************************************************/
    44 int sys_alarm( uint32_t cycles );
     40 * This function forces the calling thread to sleep, for a fixed number of seconds.
     41 ******************************************************************************************
     42 * @ seconds   : number of seconds.
     43 *****************************************************************************************/
     44int sys_alarm( uint32_t seconds );
    4545
    4646/******************************************************************************************
     
    229229
    230230/******************************************************************************************
     231 * This generic function implements all the non standard syscalls of type "get_xxx()",
     232 * defined in the <almosmkh.h> and <almosmkh.c> files.
     233 * The operation types mnemonics are defined in the <shared_almos.h> file.
     234 * This function ckecks the syscall arguments, and call the relevant kernel function.
     235 ******************************************************************************************
     236 * @ arg0       : operation type (mnemonics defined in shared_get.h)
     237 * @ arg1       : depends on operation type
     238 * @ arg2       : depends on operation type
     239 * @ arg3       : depends on operation type
     240 * @ return 0 if success / return -1 if illegal argument.
     241 *****************************************************************************************/
     242int sys_get( reg_t   arg0,
     243             reg_t   arg1,
     244             reg_t   arg2,
     245             reg_t   arg3 );
     246
     247/******************************************************************************************
    231248 * This function implements the non-standard "get_best_core" syscall.
    232249 * It selects, in a macro-cluster specified by the <base_cxy> and <level> arguments,
     
    470487 * as a remote_buffer_t, creates two (read and write) file descriptors, and links these
    471488 * two file descriptors to the pipe.
    472  * TODO : the dynamic memory allocation in case of buffer full is not implemented.
     489 * TODO  : the dynamic memory allocation in case of buffer full is not implemented.
     490 * FIXME : wich syscall release the kernel memory allocated by this syscall ?
    473491 ******************************************************************************************
    474492 * @ fd   : pointeur on a 2 slots array of fdid : fd[0] read / fd[1] write.
     
    566584
    567585/******************************************************************************************
    568  * This generic function implements the socket related syscalls.
     586 * This generic function implements all socket related syscalls.
    569587 * The operation types mnemonics are defined in the <shared_socket> file.
    570588 * The supported operations are defined in the <socket.h> & <socket.c> files.
     
    686704
    687705/******************************************************************************************
    688  * This function block the calling thread on the THREAD_BLOCKED_GLOBAL condition,
    689  * and deschedule.
    690  ******************************************************************************************
    691  * @ return 0 if success / returns -1 if failure.
    692  *****************************************************************************************/
    693 int sys_thread_sleep( void );
     706 * This function blocks the calling thread on the THREAD_BLOCKED_SLEEP condition,
     707 * and deschedules. When the <seconds> argument is non-zero, this argument defines
     708 * the sleeping time. When it is zero, the sleeping time is unbounded, and the thread
     709 * must be unblocked by the sys_thread_wakeup() function
     710 ******************************************************************************************
     711 * @ seconds : number of seconds of sleep / No alarm is activated when 0.
     712 * @ return 0 if success / returns -1 if failure.
     713 *****************************************************************************************/
     714int sys_thread_sleep( uint32_t seconds );
    694715
    695716/******************************************************************************************
    696717 * This function unblock the thread identified by its <trdid> from the
    697  * THREAD_BLOCKED_GLOBAL condition.
     718 * THREAD_BLOCKED_SLEEP condition, and cancel the registered alarm if required.
    698719 ******************************************************************************************
    699720 * @ trdid  : target thread identifier.
     
    705726 * This function calls the scheduler for the core running the calling thread.
    706727 ******************************************************************************************
    707  * @ x_size   : [out] number of clusters in a row.
    708  * @ y_size   : [out] number of clusters in a column.
    709  * @ ncores   : [out] number of cores per cluster.
    710728 * @ return always 0.
    711729 *****************************************************************************************/
Note: See TracChangeset for help on using the changeset viewer.