Commit d271ea2f authored by Detlef Riekenberg's avatar Detlef Riekenberg Committed by Alexandre Julliard

- Access rights for Printserver, Printers and Printjobs added.

- Defines for bidirectional communication added.
parent 049e9b67
...@@ -248,6 +248,30 @@ extern "C" { ...@@ -248,6 +248,30 @@ extern "C" {
#define PRINTER_ERROR_JAM 0x00000002 #define PRINTER_ERROR_JAM 0x00000002
#define PRINTER_ERROR_OUTOFTONER 0x00000004 #define PRINTER_ERROR_OUTOFTONER 0x00000004
/* Access Rights for Printserver, Printers and Printjobs */
#define SERVER_ACCESS_ADMINISTER 0x00000001
#define SERVER_ACCESS_ENUMERATE 0x00000002
#define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
#define SERVER_WRITE (STANDARD_RIGHTS_WRITE | \
SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
#define PRINTER_ACCESS_ADMINISTER 0x00000004
#define PRINTER_ACCESS_USE 0x00000008
#define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
#define JOB_ACCESS_ADMINISTER 0x00000010
#define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER)
#define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER)
/* TYPES */ /* TYPES */
typedef struct _PRINTER_DEFAULTSA { typedef struct _PRINTER_DEFAULTSA {
LPSTR pDatatype; LPSTR pDatatype;
...@@ -792,6 +816,61 @@ typedef struct _PRINTER_ENUM_VALUESW { ...@@ -792,6 +816,61 @@ typedef struct _PRINTER_ENUM_VALUESW {
DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES) DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES) DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
typedef enum {
BIDI_NULL = 0,
BIDI_INT,
BIDI_FLOAT,
BIDI_BOOL,
BIDI_STRING,
BIDI_TEXT,
BIDI_ENUM,
BIDI_BLOB
} BIDI_TYPE;
typedef struct _BINARY_CONTAINER {
DWORD cbBuf;
LPBYTE pData;
} BINARY_CONTAINER, *PBINARY_CONTAINER;
typedef struct _BIDI_DATA {
DWORD dwBidiType;
union
{
BOOL bData;
INT iData;
LPWSTR sData;
FLOAT fData;
BINARY_CONTAINER biData;
} u;
} BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
typedef struct _BIDI_REQUEST_DATA {
DWORD dwReqNumber;
LPWSTR pSchema;
BIDI_DATA data;
} BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
typedef struct _BIDI_REQUEST_CONTAINER {
DWORD Version;
DWORD Flags;
DWORD Count;
BIDI_REQUEST_DATA aData[1];
} BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
typedef struct _BIDI_RESPONSE_DATA {
DWORD dwResult;
DWORD dwReqNumber;
LPWSTR pSchema;
BIDI_DATA data;
} BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
typedef struct _BIDI_RESPONSE_CONTAINER {
DWORD Version;
DWORD Flags;
DWORD Count;
BIDI_RESPONSE_DATA aData[1];
} BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
/* DECLARATIONS */ /* DECLARATIONS */
INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability, INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
LPSTR pOutput, LPDEVMODEA pDevMode); LPSTR pOutput, LPDEVMODEA pDevMode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment