-.\" Copyright (c) 2005-2007 Apple Inc
+.\" Copyright (c) 2005-2010 Apple Inc
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" SUCH DAMAGE.
.\"
.\"
-.Dd February 3, 2005
+.Dd October 10, 2011
.Dt MBR_UID_TO_UUID 3
.Os "Mac OS X"
.Sh NAME
.Fn mbr_sid_to_uuid "const nt_sid_t *sid" "uuid_t uu"
.Ft int
.Fn mbr_uuid_to_sid "const uuid_t uu" "nt_sid_t *sid"
+.Ft int
+.Fn mbr_sid_to_string "const nt_sid_t *sid" "char *string"
+.Ft int
+.Fn mbr_string_to_sid "const char *string" "nt_sid_t *sid"
.Sh DESCRIPTION
Users and groups can be referred to in multiple ways.
In addition to the traditional uid and gid,
Additionally, if the user or group is hosted on a PDC
or Active Directory server, it will have a 128 bit or larger sid.
.Pp
-These routines communicate with the
-.Xr DirectoryService 8
-daemon.
+These routines communicate with
+.Xr openditectoryd 8 .
.Pp
.Fn mbr_uid_to_uuid
takes a uid and looks up the associated user account.
.Pp
.Fn mbr_sid_to_uuid
takes a sid and returns the associated uuid.
-Like
-.Fn mbr_uuid_to_id ,
-.Fn mbr_sid_to_uuid
-always returns a uuid for the sid, even if the sid can not be found.
.Pp
.Fn mbr_uuid_to_sid
returns a sid for the associated uuid.
+.Pp
+Two additional utility functions are available to convert between sids and a string representation.
+String representations may be required, for example, when text files or XML files are used to save sid values.
+.Pp
+.Fn mbr_sid_to_string
+converts a sid into a string representation.
+The
+.Fa string
+parameter must be a buffer of at least 194 characters.
+The converted string is terminated with a nul character.
+.Pp
+.Fn mbr_string_to_sid
+converts an external string representation into a sid.
.Sh RETURN VALUES
-These functions return 0 on success, or EIO if communications with the
-.Xr DirectoryService 8
-daemon fails.
-ENOENT is returned if the mapping can not be performed.
+These functions return 0 on success or one of the following error codes on failure:
+.Bl -tag -width Er
+.It Bq Er EIO
+Communication with
+.Xr openditectoryd 8
+failed.
+.It Bq Er ENOENT
+The mapping can not be performed.
+.It Bq Er EAUTH
+Communication with
+.Xr openditectoryd 8
+failed due to an authentication error.
+.It Bq Er EINVAL
+Invalid arguments were provided.
+.It Bq Er ENOMEM
+Insufficient storage space is available.
+.El
.Pp
.Fn mbr_gid_to_uuid
and
.Xr getpwuid 3 ,
.Xr getgrgid 3 ,
.Xr mbr_check_membership 3 ,
-.Xr DirectoryService 8
\ No newline at end of file
+.Xr openditectoryd 8