Coherent4.2.10/include/kernel/pstate.h
/* (-lgl
* Coherent 386 release 4.2
* Copyright (c) 1982, 1993 by Mark Williams Company.
* All rights reserved. May not be copied without permission.
* For copying permission and licensing info, write licensing@mwc.com
-lgl) */
#ifndef __KERNEL_PSTATE_H__
#define __KERNEL_PSTATE_H__
/*
* Process state-code type. This is available at user level to the "ps"
* command, but has no portable user-level use even there, as the kernel
* also supplies "ps" with the printable character-code that corresponds to
* the state.
*/
typedef enum {
PS_RUN, /* Running */
PS_READY, /* Ready to run */
PS_MUTEX, /* Blocked on a basic or read/write lock */
PS_SLEEP, /* Sleeping, signals do not interrupt */
PS_WAIT, /* Sleeping, interruptible */
PS_STOPPED, /* Stopped */
PS_ZOMBIE, /* Exiting */
PS_MAXSTATE
} procstate_t;
/*
* The only drawback of using enumerations is that we cannot perform useful
* tests on them at compile-time with #if. Here, we set a feature-test to
* say whether the state code fits into a word (or long-word) mask so
* that tests for state sets can have some important source-level optimization
* performed. Your mileage may vary, but it may be faster to use shift-and-
* mask techniques than a cascade of equality tests. This feature-test says
* whether these techniques /can/ be applied to this data type.
*/
#define _PSTATE_CAN_MASK 1
#endif /* ! defined (__KERNEL_PSTATE_H__) */