From f3a3a05ade784ff6906e5c8b132c9440a8db44e5 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 16 May 2000 11:55:06 +0000 Subject: another awk parser update we can now handle arrays of structures, pointers to structures, pointers in unions etc (This used to be commit 1df80cd1e8475b6b2fe7b80b6c9089692ab7691b) --- source3/aparser/srvsvc.struct | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 source3/aparser/srvsvc.struct (limited to 'source3/aparser/srvsvc.struct') diff --git a/source3/aparser/srvsvc.struct b/source3/aparser/srvsvc.struct new file mode 100644 index 0000000000..61e67c4f4a --- /dev/null +++ b/source3/aparser/srvsvc.struct @@ -0,0 +1,73 @@ +module srvsvc +test SRV_R_NET_SHARE_ENUM + +struct UNISTR2 { + uint32 max_len; + uint32 undoc; + uint32 str_len; + uint16 buffer[str_len]; +}; + +/* function 15 */ +struct SRV_SHARE_INFO_1 { + UNISTR2 *uni_netname; + uint32 type; + UNISTR2 *uni_remark; +}; + +struct SHARE_ENUM { + uint32 level; + uint32 num_entries; + union info[level] { + case 1 SRV_SHARE_INFO_1 entries[num_entries]; + } +}; + +struct SRV_R_NET_SHARE_ENUM { + uint32 level; + uint32 dummy; + SHARE_ENUM *shares; + uint32 *num_entries; +}; + + + +/* function 21 */ +struct SERVER_INFO_100 { + uint32 dwPlatformID; + UNISTR2 *pszName; +}; + +struct SERVER_INFO_101 { + uint32 dwPlatformID; + UNISTR2 *pszName; + uint32 dwVerMajor; + uint32 dwVerMinor; + uint32 dwType; + UNISTR2 *pszComment; +}; + +struct SERVER_INFO_102 { + uint32 dwPlatformID; + UNISTR2 *pszName; + uint32 dwVerMajor; + uint32 dwVerMinor; + uint32 dwType; + UNISTR2 *pszComment; + uint32 dwUsers; + uint32 lDisc; + uint32 bHidden; + uint32 dwAnnounce; + uint32 dwAnnDelta; + uint32 dwLicenses; + UNISTR2 *pszUserPath; +}; + +struct SRV_R_NET_SERVER_INFO { + uint32 level; + union info[level] { + case 100 SERVER_INFO_100 *sv100; + case 101 SERVER_INFO_101 *sv101; + case 102 SERVER_INFO_102 *sv102; + } +}; -- cgit