3 uuid("bf25facd-cc1a-4067-9a23-2e20b26816e5"),
4 endpoint("ncacn_np:[\\pipe\\rpcproxy]", "ncacn_ip_tcp:", "ncalrpc:"),
5 pointer_default(unique),
7 helpstring("Caching Proxy")
12 [in] uint32 fnum
, /* file number as supplied by remote device */
15 [in] uint32 remaining
,
17 [in] uint8 read_for_execute
,
18 [in,out] uint8 flags
, /* read_for_execute, zlib, md5 etc */
19 [in] [switch_is(flags
& PROXY_USE_CACHE
)] digest_ digest
,
21 [out] [switch_is(flags
)] Read_data response
25 [in] uint32 fnum
, /* file number as supplied by remote device */
27 [in] uint32 count
, /* the uncompressed count */
29 [in] uint8 flags
, /* read_for_execute, zlib, md5 etc */
30 [in] [switch_is(flags
)] Write_data data
,
31 [out] uint32 nwritten
,
32 [out] uint32 remaining
38 /* if cache is not valid, fall back to mincnt */
43 typedef struct digest
{
47 typedef [/*nodiscriminant,*/switch_type(uint8
)] union {
48 [case(PROXY_USE_CACHE
)] uint8 digest
[16];
54 [/*nodiscriminant,*/size_is(count
)] uint8 data
[];
57 typedef [/*nodiscriminant,*/switch_type(uint8
)] union {
58 [case(0)] Read_data_generic generic
;
59 [case(PROXY_USE_ZLIB
)] Read_data_generic compress
;
65 [/*nodiscriminant,*/size_is(count
)] uint8 data
[];
68 typedef [/*nodiscriminant,*/switch_type(uint8
)] union {
69 [case(0)] Write_data_generic generic
;
70 [case(PROXY_USE_ZLIB
)] Write_data_generic compress
;