72 lines
1.1 KiB
C
72 lines
1.1 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1996 Microsoft Corporation
|
||
|
All rights reserved
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
jobid.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Handles job id bitmap.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Albert Ting (AlbertT) 24-Oct-96
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User Mode -Win32
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
Ported from spooler.c code.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _JOBID_H
|
||
|
#define _JOBID_H
|
||
|
|
||
|
typedef struct _JOB_ID_MAP {
|
||
|
PDWORD pMap;
|
||
|
DWORD dwMaxJobId;
|
||
|
DWORD dwCurrentJobId;
|
||
|
} JOB_ID_MAP, *PJOB_ID_MAP;
|
||
|
|
||
|
|
||
|
#define pMapFromHandle( hJobIdMap ) (((PJOB_ID_MAP)hJobIdMap)->pMap)
|
||
|
#define MaxJobId( hJobIdMap ) (((PJOB_ID_MAP)hJobIdMap)->dwMaxJobId)
|
||
|
|
||
|
#define vMarkOn( hJobId, Id) \
|
||
|
((pMapFromHandle( hJobId ))[(Id) / 32] |= (1 << ((Id) % 32) ))
|
||
|
|
||
|
#define vMarkOff( hJobId, Id) \
|
||
|
((pMapFromHandle( hJobId ))[(Id) / 32] &= ~(1 << ((Id) % 32) ))
|
||
|
|
||
|
#define bBitOn( hJobId, Id) \
|
||
|
((pMapFromHandle( hJobId ))[Id / 32] & ( 1 << ((Id) % 32) ) )
|
||
|
|
||
|
BOOL
|
||
|
ReallocJobIdMap(
|
||
|
HANDLE hJobIdMap,
|
||
|
DWORD dwNewMinSize
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetNextId(
|
||
|
HANDLE hJobIdMap
|
||
|
);
|
||
|
|
||
|
HANDLE
|
||
|
hCreateJobIdMap(
|
||
|
DWORD dwMinSize
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
vDeleteJobIdMap(
|
||
|
HANDLE hJobIdMap
|
||
|
);
|
||
|
|
||
|
#endif // ifdef _JOBID_H
|