/
w32chan.h
42 lines (32 loc) · 1.8 KB
/
w32chan.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
////////////////////////////////////////////////////////////////////////////////////
// w32chan.h Fish's new i/o scheduling logic
////////////////////////////////////////////////////////////////////////////////////
// (c) Copyright "Fish" (David B. Trout), 2001-2009. Released under the Q Public License
// (http://www.hercules-390.org/herclic.html) as modifications to Hercules.
////////////////////////////////////////////////////////////////////////////////////
#ifndef _W32CHANN_H_
#define _W32CHANN_H_
/////////////////////////////////////////////////////////////////////////////
// I/O Scheduler functions...
extern void InitIOScheduler // initialize i/o scheduler vars
// Only call this function ONCE -- at startup! From
// then on, just set the variables directly as needed.
(
int arch_mode, // (for calling execute_ccw_chain)
int* devt_prio, // (ptr to device thread priority)
int devt_timeout, // (maximum device thread wait time)
long devt_max // (maximum #of device threads allowed)
);
extern int ScheduleIORequest(void* pDevBlk, unsigned short wDevNum, int* pnDevPrio);
extern void TrimDeviceThreads();
extern void KillAllDeviceThreads();
/////////////////////////////////////////////////////////////////////////////
// I/O Scheduler variables...
extern long ios_devtwait; // #of threads currently idle
extern int ios_devtnbr; // #of threads currently active
extern int ios_devthwm; // max #of threads that WERE active
extern int ios_devtmax; // max #of threads there can be
extern int ios_devtunavail; // #of times 'idle' thread unavailable
extern int ios_arch_mode; // architectural mode
/////////////////////////////////////////////////////////////////////////////
#endif // _W32CHANN_H_