+OSStatus AuthorizationExecuteWithPrivileges(AuthorizationRef authorization,
+ const char *pathToTool,
+ AuthorizationFlags flags,
+ char *const *arguments,
+ FILE **communicationsPipe)
+{
+ // externalize the authorization
+ AuthorizationExternalForm extForm;
+ if (OSStatus err = AuthorizationMakeExternalForm(authorization, &extForm))
+ return err;
+
+ return AuthorizationExecuteWithPrivilegesExternalForm(&extForm, pathToTool, flags, arguments, communicationsPipe);
+}
+