UNPKG

mmap-io-latest

Version:

Updated Node.js/C++ mmap bindings with TypeScript support and Node 20+ compatibility.

70 lines (62 loc) 1.65 kB
declare module "mmap-io-latest" { export const PROT_READ: number; export const PROT_WRITE: number; export const PROT_EXEC: number; export const PROT_NONE: number; export const MAP_SHARED: number; export const MAP_PRIVATE: number; export const MAP_NONBLOCK: number; export const MAP_POPULATE: number; export const MADV_NORMAL: number; export const MADV_RANDOM: number; export const MADV_SEQUENTIAL: number; export const MADV_WILLNEED: number; export const MADV_DONTNEED: number; /** * Maps a file into memory and returns a Node.js Buffer. * * @param size File size to map. * @param protection PROT_READ, PROT_WRITE, etc. * @param flags MAP_SHARED, MAP_PRIVATE, etc. * @param fd File descriptor (from fs.openSync). * @param offset Byte offset (default 0). * @param advise Usage hint (MADV_*). */ export function map( size: number, protection: number, flags: number, fd: number, offset?: number, advise?: number ): Buffer; /** * Provides usage advice to the kernel for the mapped memory. */ export function advise( buffer: Buffer, advise: number ): void; export function advise( buffer: Buffer, offset: number, length: number, advise: number ): void; /** * Checks how many pages are mapped in memory. * * @returns [unmappedPages, mappedPages] */ export function incore(buffer: Buffer): [number, number]; /** * Syncs the mapped buffer to disk. */ export function sync( buffer: Buffer, offset?: number, length?: number, blocking?: boolean, invalidate?: boolean ): void; }