/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos720 src/bos/kernel/sys/thread_ctl.h 1.2 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* Restricted Materials of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 2000 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)66 1.2 src/bos/kernel/sys/thread_ctl.h, sysproc, bos720 4/6/00 19:08:55 */ /* * COMPONENT_NAME: SYSPROC * * ORIGINS: 27, 83 * * * (C) COPYRIGHT International Business Machines Corp. 1993, 1996 * All Rights Reserved * Licensed Materials - Property of IBM * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /**************************************************************************/ /* */ /* Description: Header file for exemption control facility */ /* */ /**************************************************************************/ #if !defined(_SYS_THREAD_CTL_H) #define _SYS_THREAD_CTL_H #if defined(__cplusplus) extern "C" { #endif /* * Flag arguments to the kernel service. */ #define CTL_ENABLE 1 #define CTL_DISABLE 2 #define CTL_YIELD 3 /* * Bits for benefit grant by the kernel to the thread. */ #define PREEMPTION_GRANTED 0x00000001 #define SUSPENSION_GRANTED 0x00000002 typedef struct { unsigned short flags; unsigned short count; } control_word_t; #if !defined(_KERNEL) /* * The prototype for the service registration function. */ int EnableCriticalSections(void); void BeginCriticalSection(void); void EndCriticalSection(void); #endif /* _KERNEL */ #if defined(__cplusplus) } #endif #endif /* _SYS_THREAD_CTL_H */