## task_create_security_token

Function - Create a new task with an explicit security token.

### SYNOPSIS

    kern_return_t   task_create_security_token
                    (task_t                                    task,
                     security_port_t                  host_security,
                     security_token_t                security_token,
                     ledger_port_array_t                    ledgers,
                     boolean_t                       inherit_memory,
                     task_t                                  task_t);

### PARAMETERS

parent_task
  [in task send right] The port for the task from which to draw the child task's port rights and address space.

host_security
  [in security send right] The host's security port.

security_token
  [in scalar] The task's security token.

ledgers
  [pointer to in array of ledger send rights] The set of ledgers from which the task will draw its resources.

inherit_memory
  [in scalar] Address space inheritance indicator. If true, the child task in- herits the address space of the parent task. If false, the kernel assigns the child task an empty address space.

child_task
  [out task send right] The kernel-assigned port name for the new task.

### DESCRIPTION

The task_create_security_token function creates a new task from parent_task with an explicit security token, returning the name of the new task in the parameter specified by child_task. Other than the security token, the child task is as if created by task_create.

### NOTES

The host security port is a privileged port given to the system bootstrap task for the use of this call.

### RETURN VALUES

KERN_INVALID_SECURITY
  The value of host_security does not specify the security port for the host on which task lies.

### RELATED INFORMATION

Functions: task_create, task_set_security_token, mach_msg.