[BACK]Return to thread.h CVS log [TXT][DIR] Up to [local] / prex-old / sys / include

Diff for /prex-old/sys/include/thread.h between version 1.1.1.1 and 1.1.1.1.2.1

version 1.1.1.1, 2008/06/03 10:38:45 version 1.1.1.1.2.1, 2008/08/13 17:12:31
Line 1 
Line 1 
 /*-  /*-
  * Copyright (c) 2005-2007, Kohsuke Ohtani   * Copyright (c) 2005-2008, Kohsuke Ohtani
  * All rights reserved.   * All rights reserved.
  *   *
  * Redistribution and use in source and binary forms, with or without   * Redistribution and use in source and binary forms, with or without
Line 48 
Line 48 
         int             state;          /* thread state */          int             state;          /* thread state */
         int             policy;         /* scheduling policy */          int             policy;         /* scheduling policy */
         int             prio;           /* current priority */          int             prio;           /* current priority */
         int             base_prio;      /* base priority */          int             baseprio;       /* base priority */
         int             ticks_left;     /* remaining ticks to run */          int             timeleft;       /* remaining ticks to run */
         u_int           total_ticks;    /* total running ticks */          u_int           time;           /* total running time */
         int             need_resched;   /* true if rescheduling is needed */          int             resched;        /* true if rescheduling is needed */
         int             lock_count;     /* schedule lock counter */          int             locks;          /* schedule lock counter */
         int             suspend_count;  /* suspend counter */          int             suscnt;         /* suspend counter */
         struct event    *sleep_event;   /* sleep event */          struct event    *slpevt;        /* sleep event */
         int             sleep_result;   /* sleep result */          int             slpret;         /* sleep result code */
         struct timer    timeout;        /* thread timer */          struct timer    timeout;        /* thread timer */
         struct timer    *periodic;      /* pointer to periodic timer */          struct timer    *periodic;      /* pointer to periodic timer */
           uint32_t        excbits;        /* bitmap of pending exceptions */
         struct queue    ipc_link;       /* linkage on IPC queue */          struct queue    ipc_link;       /* linkage on IPC queue */
         void            *msg_addr;      /* kernel address of IPC message */          void            *msgaddr;       /* kernel address of IPC message */
         size_t          msg_size;       /* size of IPC message */          size_t          msgsize;        /* size of IPC message */
         struct thread   *sender;        /* thread that sends IPC message */          thread_t        sender;         /* thread that sends IPC message */
         struct thread   *receiver;      /* thread that receives IPC message */          thread_t        receiver;       /* thread that receives IPC message */
         object_t        send_obj;       /* IPC object sending to */          object_t        sendobj;        /* IPC object sending to */
         object_t        recv_obj;       /* IPC object receiving from */          object_t        recvobj;        /* IPC object receiving from */
         uint32_t        exc_bitmap;     /* bitmap of pending exceptions */  
         struct list     mutexes;        /* mutexes locked by this thread */          struct list     mutexes;        /* mutexes locked by this thread */
         struct mutex    *wait_mutex;    /* mutex pointer currently waiting */          struct mutex    *wait_mutex;    /* mutex pointer currently waiting */
         void            *kstack;        /* base address of kernel stack */          void            *kstack;        /* base address of kernel stack */
         struct context  context;        /* machine specific context */          struct context  ctx;            /* machine specific context */
 };  };
   
 #define thread_valid(th) (kern_area(th) && ((th)->magic == THREAD_MAGIC))  #define thread_valid(th) (kern_area(th) && ((th)->magic == THREAD_MAGIC))
Line 93 
Line 93 
   
 /*  /*
  * Priorities   * Priorities
    * Probably should not be altered too much.
  */   */
 #define PRIO_TIMER      15      /* priority for timer thread */  #define PRIO_TIMER      15      /* priority for timer thread */
 #define PRIO_IST        16      /* top priority for interrupt threads */  #define PRIO_IST        16      /* top priority for interrupt threads */
Line 102 
Line 103 
   
 #define MAX_PRIO        0  #define MAX_PRIO        0
 #define MIN_PRIO        255  #define MIN_PRIO        255
 #define NR_PRIOS        256     /* number of thread priority */  #define NPRIO           256     /* number of thread priority */
   
 /*  /*
  * Scheduling operations for thread_schedparam().   * Scheduling operations for thread_schedparam().
Line 114 
Line 115 
   
 extern int       thread_create(task_t, thread_t *);  extern int       thread_create(task_t, thread_t *);
 extern int       thread_terminate(thread_t);  extern int       thread_terminate(thread_t);
 extern int       thread_kill(thread_t);  
 extern int       thread_load(thread_t, void (*)(void), void *);  extern int       thread_load(thread_t, void (*)(void), void *);
 extern thread_t  thread_self(void);  extern thread_t  thread_self(void);
 extern void      thread_yield(void);  extern void      thread_yield(void);
Line 123 
Line 123 
 extern int       thread_schedparam(thread_t, int, int *);  extern int       thread_schedparam(thread_t, int, int *);
 extern void      thread_idle(void);  extern void      thread_idle(void);
 extern int       thread_info(struct info_thread *);  extern int       thread_info(struct info_thread *);
 extern thread_t  kernel_thread(int, void (*)(u_long), u_long);  
 extern void      thread_dump(void);  extern void      thread_dump(void);
 extern void      thread_init(void);  extern void      thread_init(void);
   
   /* for kernel thread */
   extern thread_t  kthread_create(void (*)(void *), void *, int);
   extern void      kthread_terminate(thread_t);
   
 #endif /* !_THREAD_H */  #endif /* !_THREAD_H */

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.2.1

CVSweb