netapi32.odin 1.0 KB

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