Annotation of researchv10dc/630/man/src/p_man/man3/alloc.3r, revision 1.1

1.1     ! root        1: .ds ZZ DEVELOPMENT PACKAGE
        !             2: .TH ALLOC 3R "630 MTG"
        !             3: .XE "alloc()"
        !             4: .XE "lalloc()"
        !             5: .XE "allocown()"
        !             6: .XE "free()"
        !             7: .SH NAME
        !             8: alloc, lalloc, free, allocown \- memory allocation
        !             9: .SH SYNOPSIS
        !            10: .B #include <dmd.h>
        !            11: .br
        !            12: .B char \(**alloc (nbytes)
        !            13: .PP
        !            14: .B char \(**lalloc (lnbytes)
        !            15: .PP
        !            16: .B void free (s)
        !            17: .PP
        !            18: .B void allocown (s, p)
        !            19: .sp
        !            20: .B unsigned nbytes;
        !            21: .br
        !            22: .B unsigned long lnbytes;
        !            23: .br
        !            24: .B Proc \(**p
        !            25: .br
        !            26: .B char \(**s;
        !            27: .SH DESCRIPTION
        !            28: The
        !            29: .I alloc
        !            30: function
        !            31: is equivalent to the standard C function
        !            32: .IR  malloc (3C).
        !            33: It either returns a pointer to a block of
        !            34: \f2nbytes\f1,
        !            35: contiguous bytes of storage
        !            36: or a 0 (\s-1NULL\s+1) if there is no available memory.
        !            37: The storage is aligned on 4-byte boundaries.
        !            38: Unlike
        !            39: .IR malloc ,
        !            40: \f2alloc\f1,
        !            41: clears the storage to zeros.
        !            42: .PP
        !            43: The
        !            44: .I lalloc
        !            45: function is identical to
        !            46: .I alloc
        !            47: except it takes an unsigned long as an argument.
        !            48: .PP
        !            49: The
        !            50: .I free
        !            51: function
        !            52: frees storage allocated by
        !            53: .IR alloc .
        !            54: The space is made available for further allocation.
        !            55: .PP
        !            56: The
        !            57: .I allocown
        !            58: function
        !            59: changes the ownership of memory allocated by
        !            60: .IR alloc.
        !            61: The argument
        !            62: .I s
        !            63: is a value previously returned from
        !            64: .IR alloc .
        !            65: The argument
        !            66: .I p
        !            67: is the process taking over ownership of the memory.
        !            68: If
        !            69: .I p
        !            70: is zero, the memory belongs to no one, and only an explicit call to
        !            71: .I free
        !            72: will free it.
        !            73: .PP
        !            74: The terminal
        !            75: automatically frees all memory allocated by a process
        !            76: when the process terminates or when
        !            77: the window it is running in is deleted.
        !            78: If the ownership of allocated memory is changed, it will
        !            79: only be freed when the new owner is deleted or when
        !            80: .I free
        !            81: is called.
        !            82: However, it is recommended that a process free its allocated
        !            83: memory when the storage is no longer needed so that other
        !            84: processes
        !            85: will be able to use it.
        !            86: .SH EXAMPLE
        !            87: The following example shows the use of
        !            88: .I alloc
        !            89: and
        !            90: .I free
        !            91: in dynamically allocating memory for a \fIPoint\fR.
        !            92: .PP
        !            93: .RS 3
        !            94: .ft CM
        !            95: .nf
        !            96: #include <dmd.h>
        !            97: 
        !            98: main()
        !            99: {
        !           100:     Point *p;
        !           101:     char *alloc();
        !           102:     void free();
        !           103: 
        !           104:     p = (Point *)alloc (sizeof(Point));
        !           105: 
        !           106:     .
        !           107:     .
        !           108:     .
        !           109: 
        !           110:     free (p);
        !           111: }
        !           112: .fi
        !           113: .ft R
        !           114: .RE
        !           115: .SH SEE ALSO
        !           116: balloc(3R), gcalloc(3R), structures(3R).
        !           117: .br
        !           118: malloc(3C) in the \f2UNIX System V Programmer's Reference Manual\f1.
        !           119: 
        !           120: 
        !           121: .SH WARNINGS
        !           122: The
        !           123: .I alloc
        !           124: function accepts an integer as argument; therefore, it can only allocate a
        !           125: contiguous block of memory of 64K bytes or less.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.