XenevaOS
Loading...
Searching...
No Matches
Functions
mmserv.cpp File Reference
#include <Mm\shm.h>
#include <Mm\vmmngr.h>
#include <Mm\pmmngr.h>
#include <_null.h>
#include <Mm\kmalloc.h>
#include <aucon.h>
#include <Hal\x86_64_lowlevel.h>
#include <Hal\serial.h>
Include dependency graph for mmserv.cpp:

Functions

int CreateSharedMem (uint16_t key, size_t sz, uint8_t flags)
 CreateSharedMem – create a shared memory chunk.
 
void * ObtainSharedMem (uint16_t id, void *shmaddr, int shmflg)
 ObtainSharedMem – obtain a shared memory.
 
void UnmapSharedMem (uint16_t key)
 UnmapSharedMem – unmap shared memory segment.
 
uint64_t GetProcessHeapMem (size_t sz)
 GetProcessHeapMem – get a memory from process heap.
 
int ProcessHeapUnmap (void *ptr, size_t sz)
 ProcessHeapUnmap – unmaps previosly allocated heap memory.
 

Function Documentation

◆ CreateSharedMem()

int CreateSharedMem ( uint16_t  key,
size_t  sz,
uint8_t  flags 
)

CreateSharedMem – create a shared memory chunk.

BSD 2-Clause License

Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

◆ GetProcessHeapMem()

uint64_t GetProcessHeapMem ( size_t  sz)

GetProcessHeapMem – get a memory from process heap.

◆ ObtainSharedMem()

void * ObtainSharedMem ( uint16_t  id,
void *  shmaddr,
int  shmflg 
)

ObtainSharedMem – obtain a shared memory.

Parameters
id– segment id
shmaddr– user specified address
shmflg– flags to use for protection

◆ ProcessHeapUnmap()

int ProcessHeapUnmap ( void *  ptr,
size_t  sz 
)

ProcessHeapUnmap – unmaps previosly allocated heap memory.

Parameters
ptr– Pointer to freeable address
sz– size in bytes to unallocate

◆ UnmapSharedMem()

void UnmapSharedMem ( uint16_t  key)

UnmapSharedMem – unmap shared memory segment.

Parameters
key– key to search