netapi32.odin 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // +build windows
  2. package sys_windows
  3. foreign import netapi32 "system:Netapi32.lib"
  4. @(default_calling_convention="system")
  5. foreign netapi32 {
  6. NetUserAdd :: proc(
  7. servername: wstring,
  8. level: DWORD,
  9. user_info: ^USER_INFO_1, // Perhaps make this a #raw_union with USER_INFO1..4 when we need the other levels.
  10. parm_err: ^DWORD,
  11. ) -> NET_API_STATUS ---
  12. NetUserDel :: proc(
  13. servername: wstring,
  14. username: wstring,
  15. ) -> NET_API_STATUS ---
  16. NetUserGetInfo :: proc(
  17. servername: wstring,
  18. username: wstring,
  19. level: DWORD,
  20. user_info: ^USER_INFO_1,
  21. ) -> NET_API_STATUS ---
  22. NetLocalGroupAddMembers :: proc(
  23. servername: wstring,
  24. groupname: wstring,
  25. level: DWORD,
  26. group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, // Actually a variably sized array of these.
  27. totalentries: DWORD,
  28. ) -> NET_API_STATUS ---
  29. NetLocalGroupDelMembers :: proc(
  30. servername: wstring,
  31. groupname: wstring,
  32. level: DWORD,
  33. group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, // Actually a variably sized array of these.
  34. totalentries: DWORD,
  35. ) -> NET_API_STATUS ---
  36. }