summaryrefslogtreecommitdiffstats
path: root/librpc/idl/preg.idl
diff options
context:
space:
mode:
Diffstat (limited to 'librpc/idl/preg.idl')
-rw-r--r--librpc/idl/preg.idl44
1 files changed, 44 insertions, 0 deletions
diff --git a/librpc/idl/preg.idl b/librpc/idl/preg.idl
new file mode 100644
index 0000000..c3adb50
--- /dev/null
+++ b/librpc/idl/preg.idl
@@ -0,0 +1,44 @@
+#include "idl_types.h"
+
+import "misc.idl";
+
+/*
+ IDL structures defining PReg files
+
+ more info can be found at:
+ http://msdn2.microsoft.com/en-us/library/aa374407.aspx
+*/
+
+[
+ pointer_default(unique),
+ helper("../librpc/ndr/ndr_preg.h"),
+ helpstring("PReg structure"),
+ uuid("67655250-0000-0000-0000-00000000")
+]
+ interface preg
+{
+ typedef [public,flag(NDR_PAHEX)] struct {
+ [charset(DOS),value("["),noprint] uint8 _opening_bracket[2];
+ nstring keyname;
+ [charset(DOS),value(";"),noprint] uint8 _sep1[2];
+ nstring valuename;
+ [charset(DOS),value(";"),noprint] uint8 _sep2[2];
+ winreg_Type type;
+ [charset(DOS),value(";"),noprint] uint8 _sep3[2];
+ [value(ndr_size_winreg_Data_GPO(&data,type,ndr->flags))] uint32 size;
+ [charset(DOS),value(";"),noprint] uint8 _sep4[2];
+ [subcontext(0),subcontext_size(size),flag(NDR_REMAINING), switch_is(type)] winreg_Data_GPO data;
+ [charset(DOS),value("]"),noprint] uint8 _closing_bracket[2];
+ } preg_entry;
+
+ typedef [public] struct {
+ [charset(DOS),value("PReg")] uint8 signature[4];
+ [value(1)] uint32 version;
+ } preg_header;
+
+ typedef [public,flag(NDR_NOALIGN),nopush,nopull] struct {
+ preg_header header;
+ uint32 num_entries;
+ preg_entry entries[num_entries];
+ } preg_file;
+}