tail head cat sleep
QR code linking to this page

Manual Pages  — ZERO_REGION

NAME

zero_region – Read-only region prefilled with zeroes

CONTENTS

SYNOPSIS

#include <sys/param.h>
#include <sys/systm.h>
#include <vm/vm_param.h>
extern const void *zero_region;

DESCRIPTION

The global variable zero_region points to a read-only region prefilled with zeroes. The size of the region is specified by the ZERO_REGION_SIZE macro.

IMPLEMENTATION NOTES

The region zero_region points to is mapped to the same page multiple times.

EXAMPLES

/*
 * This function writes zeroes to the vnode at offset 0
 * with ZERO_REGION_SIZE length.
 */
static int
write_example(struct vnode *vp)
{
        struct thread *td;
        struct iovec aiov;
        struct uio auio;
        int error;

        td = curthread;

        aiov.iov_base = __DECONST(void *, zero_region);         aiov.iov_len = ZERO_REGION_SIZE;         auio.uio_iov = &aiov;         auio.uio_iovcnt = 1;         auio.uio_offset = 0;         auio.uio_resid = ZERO_REGION_SIZE;         auio.uio_segflg = UIO_SYSSPACE;         auio.uio_rw = UIO_WRITE;         auio.uio_td = td;

        error = VOP_WRITE(vp, &auio, 0, td->td_ucred);         return (error); }

SEE ALSO

pmap(9), vm_map(9)

AUTHORS

This manual page was written by Ka Ho Ng <Mt khng@FreeBSDFoundation.org> under sponsorship from the FreeBSD Foundation.

ZERO_REGION (9) March 2, 2021

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

“ Do you laugh when the waiter drops a tray full of dishes? Unix weenies do. They're the first ones to laugh at hapless users, trying to figure out an error message that doesn't have anything to do with what they just typed. ”
— The Unix Haters' handbook