summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/uaccess.h
blob: 05f89e0316760f0c4cf9d0de6ce89694eb23146c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef _GPXE_UACCESS_H
#define _GPXE_UACCESS_H

/**
 * @file
 *
 * Access to external ("user") memory
 *
 * gPXE often needs to transfer data between internal and external
 * buffers.  On i386, the external buffers may require access via a
 * different segment, and the buffer address cannot be encoded into a
 * simple void * pointer.  The @c userptr_t type encapsulates the
 * information needed to identify an external buffer, and the
 * copy_to_user() and copy_from_user() functions provide methods for
 * transferring data between internal and external buffers.
 *
 * Note that userptr_t is an opaque type; in particular, performing
 * arithmetic upon a userptr_t is not allowed.
 *
 */

#include <bits/uaccess.h>

/** Equivalent of NULL for user pointers */
#define UNULL ( ( userptr_t ) 0 )

#endif /* _GPXE_UACCESS_H */