|
|
1.1 root 1: /**************************************/
2: /* Temporary header file. Used */
3: /* to chase the infamous code key */
4: /* release problem. Should be */
5: /* removed after the problem is */
6: /* solved. */
7: /****************************************/
8: #ifdef CKEY_DEBUG
9: struct history_item {
10: unsigned rel:4; /* 1 = release, 0 = get key */
11: unsigned id:4; /* id # for traces */
12: unsigned keyno:8; /* code key number as process gets it*/
13: short procid:16; /* guilty (?) process id */
14: };
15:
16: #define DEPTH 1024 /* depth of history */
17: #define GETK 0
18: #define RELK 1
19:
20: #define REMEMBER(_a,_b,_c) { c_key_hist[c_key_inx].rel = (_b); \
21: c_key_hist[c_key_inx].id = (_a); \
22: c_key_hist[c_key_inx].keyno = (_c); \
23: c_key_hist[c_key_inx].procid = \
24: u.u_procp->p_pid; \
25: c_key_inx = (c_key_inx+1) % DEPTH; \
26: }
27:
28: struct history_item c_key_hist[DEPTH];
29: long c_key_inx; /* Starts from 0 */
30: #else
31: #define REMEMBER(_a,_b,_c)
32: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.