Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ brk(2) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                   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)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026