procedure Port_Create ( Name : in RTEMS.Name; Internal_Start : in RTEMS.Address; External_Start : in RTEMS.Address; Length : in RTEMS.Unsigned32; ID : out RTEMS.ID; Result : out RTEMS.Status_Codes );
RTEMS.SUCCESSFUL
- port created successfully
RTEMS.INVALID_NAME
- invalid task name
RTEMS.INVALID_ADDRESS
- address not on four byte boundary
RTEMS.INVALID_ADDRESS
- id
is NULL
RTEMS.TOO_MANY
- too many DP memory areas created
This directive creates a port which resides on the local node for the specified DPMA. The assigned port id is returned in id. This port id is used as an argument to other dual-ported memory manager directives to convert addresses within this DPMA.
For control and maintenance of the port, RTEMS allocates and initializes an DPCB from the DPCB free pool. Thus memory from the dual-ported memory area is not used to store the DPCB.
The internal_address and external_address parameters must be on a four byte boundary.
This directive will not cause the calling task to be preempted.
Copyright © 1988-2004 OAR Corporation