-
Notifications
You must be signed in to change notification settings - Fork 0
/
udma.h
81 lines (63 loc) · 2.25 KB
/
udma.h
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*******************************************************************************
* VUTBR - FIT - IFJ - Interpret jazyka IFJ11
*
* Autori: xkvita01 Jakub Kvita
* xcienc02 Ondrej Cienciala
* xpecse00 Robert Pecserke
* xkripp00 Martin Krippel
* xpyszk02 Petr Pyzsko
*
* Datum dokonceni: 11.12.2011
*
* Podrobnejsi info o aktualnim rocniku projektu:
* https://www.fit.vutbr.cz/study/courses/IFJ/public/project/
*
********************************************************************************
* Soubor: udma.h
* Popis: Rozhrani UDMA - uzivatelskeho pridelovani pameti.
*
* UDMA == User Dynamic Memory Allocation
*
* UDMA funkce zde slouzi jako obalovaci funkce pro malloc(), realloc() a
* free(), pricemz navic vytvari jednosmerny linearni seznam. Pri kazdem
* alokovani pameti se vlozi na zacatek seznamu novy prvek obsahujici
* ukazatel na pozadovanou pamet. Pri uvolnovani pameti se prochazi seznam
* od zacatku a smaze se prvek, ktery obsahoval dany ukazatel.
* Pokud se zavola funkce UDMA_dispose(), uvolni se veskera pamet a cely
* seznam.
*
*******************************************************************************/
#ifndef __UDMA_H__
#define __UDMA_H__
/*======= Hlavickove soubory =================================================*/
#include <stdio.h> // Vstupne/vystupni operace
#include <stdlib.h> // Obecne funkce, pamet
/*===========================================================================*/
/*===========================================================================*/
/*
* Prototypy globalnich funkci
*/
/*
* UDMA funkce chovajici se jako malloc()
*
* @param size - velikost pozadovane pameti (v pripade potreby lze zmenit typ
* na unsigned long long)
*/
void *UDMA_malloc(unsigned size);
/*
* UDMA funkce chovajici se jako realloc()
*
* @param size - velikost pozadovane pameti (v pripade potreby lze zmenit typ
* na unsigned long long)
*/
void *UDMA_realloc(void *ptr, unsigned size);
/*
* UDMA funkce chovajici se jako free()
*/
void UDMA_free(void *ptr);
/*
* Uvolni veskerou alokovanou pamet a cely seznam
*/
void UDMA_dispose();
#endif
/***** konec souboru****/