thread.h

Go to the documentation of this file.
00001 /*
00002 ** thread.h for  in /root/work/lseos-0.2.23/conven
00003 **
00004 ** Copyright (c)2004 Vianney Rancurel
00005 ** Login   <vianney@epita.fr>
00006 **
00007 ** Started on  Thu May  6 15:20:39 2004 Vianney Rancurel
00008 ** Last update Mon Dec  6 12:29:17 2004 Vianney Rancurel
00009 */
00010 #ifndef __CONVEN_THREAD_H__
00011 #define __CONVEN_THREAD_H__     1
00012 #include <libc.h>
00013 
00017 #define THREADOPT_SCHED         (1<<0u) 
00018 #define THREADOPT_SERVICE       (1<<1u) 
00019 #define THREADOPT_REALTIME      (1<<2u) 
00020 #define THREADOPT_KERNEL        (1<<3u) 
00021 #define THREADOPT_TRACED        (1<<4u) 
00022 #define THREADOPT_HEAPSTK       (1<<5u) 
00023 #define THREADOPT_FIXEDSEL      (1<<6u) 
00024 #define THREADOPT_NOSTK         (1<<7u) 
00025 #define THREADOPT_COPYTSS       (1<<8u) 
00026 #define THREADOPT_DONTSIMCALL   (1<<9u) 
00027 #define THREADOPT_IOMAP         (1<<10u) 
00028 #define THREADOPT_DONTRUN       (1<<11u) 
00029 #define THREADOPT_VERBOSE       (1<<16u) 
00032 /*
00033  * thread_create errcodes (errno and suberrno are filled)
00034  */
00035 typedef enum
00036   {
00037     THREAD_EZERO = 0,                   
00039     THREAD_PRSV_TCB = 100,              
00040     THREAD_KRSV_TCB,                    
00041     THREAD_WIRE_TCB,                    
00042     THREAD_TCBREG,                      
00043     THREAD_PRSV_STK,                    
00044     THREAD_VRSV_STK,                    
00045     THREAD_MAP_STK,                     
00046     THREAD_BAD_PL,                      
00047     THREAD_RUN,                         
00048     THREAD_ASCREATE,                    
00049     THREAD_ASATTACH_FAILED,             
00050     THREAD_INVALID_CLASS,               
00051     THREAD_COPY_PARAMS,                 
00052     THREAD_COPY_EIPZERO,                
00053     THREAD_EBP_NOT_ZERO,                
00054     THREAD_NO_CLASS,                    
00056     THREAD_LCLASS = 200,                
00057     THREAD_LNAME,                       
00058     THREAD_LSTATUS,                     
00059     THREAD_LTSS,                        
00060     THREAD_LTRACE,                      
00061     THREAD_LEP,                         
00063   }     t_thread_status;
00064 
00065 /* PROTO thread.c */
00066 /* thread.c */
00067 int param_gen(char **argv, int argc, char **params, int *paramlen);
00068 t_thread_status thread_create(char *name, asid_t asid, u_int32_t eip, int nbstkpgs, int for_cpu, u_int sel, u_int32_t threadopts, char *parambuf, int paramlen, struct s_tcb_export *tcb);
00069 #endif

Generated on Wed May 24 23:04:17 2006 for LSE/OS by  doxygen 1.4.6