This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/dm/include/PAGE.H

51 lines
1.1 KiB
C

/* Copyright (C) 1992-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
#if __SC__ || __RCC__
#pragma once
#endif
#ifndef __PAGE_H
#define __PAGE_H 1
#if __cplusplus
extern "C" {
#endif
#if __INTSIZE == 4
#define __BF
#else
#define __BF far
#endif
#define __PGOFF sizeof(unsigned short)
#pragma pack(1)
struct Pageheader
{
unsigned short pagesize;
unsigned short maxsize;
unsigned short allocp;
unsigned short bassize;
unsigned short baslnk;
};
#pragma pack()
#define PAGEOVERHEAD sizeof(struct Pageheader)
unsigned __cdecl page_calloc(void __BF *baseptr,unsigned size);
unsigned __cdecl page_malloc(void __BF *baseptr,unsigned size);
unsigned __cdecl page_realloc(void __BF *baseptr,unsigned p, unsigned nbytes);
int __cdecl page_free(void __BF *baseptr,unsigned p);
unsigned __cdecl page_maxfree(void __BF *baseptr);
unsigned __cdecl page_initialize(void __BF *baseptr,unsigned pagesize);
#define page_size(baseptr,p) \
(*(unsigned short __BF *)((char __BF *)(baseptr) + (p) - __PGOFF) - __PGOFF)
#define page_toptr(baseptr,p) (void __BF *)((char __BF *)(baseptr) + (p))
#if __cplusplus
}
#endif
#endif