brk(2)
_________________________________________________________________
brk System Call
Change data segment space allocation.
_________________________________________________________________
SYNTAX
int brk (endds)
char * endds;
PARAMETERS
endds The address of the first byte beyond the new end
of the data area.
DESCRIPTION
Brk dynamically changes the amount of space allocated for the
calling process's data segment; see exec. The change is made by
resetting the process's break value and allocating or
deallocating the appropriate amount of space. The break value is
the address of the first byte beyond the end of the data segment.
The amount of allocated space increases as the break value
increases. If <endds> is greater than the current break value,
the newly allocated space is set to zero; i.e., if these
addresses are read before they are written the contents will be
zero. If <endds> is less than the current break value, space is
deallocated from the data segment. The contents of addresses
from <endds> to the current break value become undefined.
There is a maximum possible break value for a process; this value
may be determined with the ulimit call. An implementation
(machine architecture) dependent minimum value exists. This is
the size of 1 page in the MV architecture.
Brk will fail without making any change in the allocated space if
an error occurs.
ACCESS CONTROL
No access check is made.
RETURN VALUE
0 The brk operation was successful.
DG/UX 4.00 Page 1
Licensed material--property of copyright holder(s)
brk(2)
-1 An error occurred. Errno is set to indicate the
error.
EXCEPTIONS
Errno may be set to one of the following error codes:
ENOMEM The change would allocate more space than is
allowed by a system-imposed maximum (see ulimit).
ENOMEM The change would make the break value greater than
or equal to the start address of an attached
shared memory segment (see shmat).
EFAULT The change would make the break value less than
the system-imposed minimum.
EFAULT The new break value is not a valid user address.
SEE ALSO
The related system calls: exec, shmop, ulimit.
DG/UX 4.00 Page 2
Licensed material--property of copyright holder(s)