aboutsummaryrefslogtreecommitdiff
path: root/core/sys/windows/netapi32.odin
blob: 759c5847ac73880307bcea37c2d2c008b01dbd9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#+build windows
package sys_windows

foreign import netapi32 "system:Netapi32.lib"

@(default_calling_convention="system")
foreign netapi32 {
	NetUserAdd :: proc(
		servername: wstring,
		level:      DWORD,
		user_info:  ^USER_INFO_1, // Perhaps make this a #raw_union with USER_INFO1..4 when we need the other levels.
		parm_err:   ^DWORD,
	) -> NET_API_STATUS ---
	NetUserDel :: proc(
		servername: wstring,
		username:   wstring,
	) -> NET_API_STATUS ---
	NetUserGetInfo :: proc(
		servername: wstring,
		username:   wstring,
		level:      DWORD,
		user_info:  ^USER_INFO_1,
	) -> NET_API_STATUS ---
	NetLocalGroupAddMembers :: proc(
		servername:         wstring,
		groupname:          wstring,
		level:              DWORD,
		group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, // Actually a variably sized array of these.
		totalentries:       DWORD,
	) -> NET_API_STATUS ---
	NetLocalGroupDelMembers :: proc(
		servername:         wstring,
		groupname:          wstring,
		level:              DWORD,
		group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, // Actually a variably sized array of these.
		totalentries:       DWORD,
	) -> NET_API_STATUS ---
}