Blame src/GLdispatch/vnd-glapi/u_execmem.h

Packit Service 9e77c8
#ifndef _U_EXECMEM_H_
Packit Service 9e77c8
#define _U_EXECMEM_H_
Packit Service 9e77c8
Packit Service 9e77c8
/**
Packit Service 9e77c8
 * Allocates \p size bytes of executable memory.
Packit Service 9e77c8
 *
Packit Service 9e77c8
 * The returned pointer may or may not be writable. Call
Packit Service 9e77c8
 * \c u_execmem_get_writable to get a pointer to a writable mapping.
Packit Service 9e77c8
 */
Packit Service 9e77c8
void *u_execmem_alloc(unsigned int size);
Packit Service 9e77c8
Packit Service 9e77c8
/**
Packit Service 9e77c8
 * Returns a writable mapping for a pointer returned by \c u_execmem_alloc.
Packit Service 9e77c8
 *
Packit Service 9e77c8
 * If \p execPtr is a pointer returned by \c u_execmem_alloc, then this
Packit Service 9e77c8
 * function will return a writable mapping of the same memory.
Packit Service 9e77c8
 *
Packit Service 9e77c8
 * If \p execPtr was not returned by \c u_execmem_alloc, then it will be
Packit Service 9e77c8
 * returned unmodified. Thus, it's safe to pass a pointer to a static
Packit Service 9e77c8
 * or dynamic entrypoint.
Packit Service 9e77c8
 */
Packit Service 9e77c8
void *u_execmem_get_writable(void *execPtr);
Packit Service 9e77c8
Packit Service 9e77c8
/**
Packit Service 9e77c8
 * Frees the memory allocated from u_execmem_alloc.
Packit Service 9e77c8
 */
Packit Service 9e77c8
void u_execmem_free(void);
Packit Service 9e77c8
Packit Service 9e77c8
#endif /* _U_EXECMEM_H_ */