File: utility.h

package info (click to toggle)
aranym 1.1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 25,488 kB
  • sloc: cpp: 178,117; ansic: 170,405; perl: 5,637; sh: 5,547; asm: 2,282; makefile: 1,324; objc: 218
file content (103 lines) | stat: -rw-r--r-- 2,507 bytes parent folder | download | duplicates (2)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#ifndef UTILITY_H
#define UTILITY_H
/*
 * fVDI utility function declarations
 *
 * Copyright 2003, Johan Klockars 
 * This software is licensed under the GNU General Public License.
 * Please, see LICENSE.TXT for further information.
 */

long init_utility(void);

/*
 * Memory access
 */
long get_protected_l(long addr);
void set_protected_l(long addr, long value);
long get_l(long addr);
void set_l(long addr, long value);

/*
 * Cookie and XBRA access
 */
long get_cookie(const unsigned char *cname, long super);
long set_cookie(const unsigned char *name, long value);
long remove_xbra(long vector, const unsigned char *name);
void check_cookies(void);

/*
 * Memory pool allocation (from set of same sized blocks)
 */
long initialize_pool(long size, long n);
char *allocate_block(long size);
void free_block(void *addr);


/*
 * Memory/string operations
 */
void *memchr(const void *s, long c, size_t n);
char *memrchr(const void *s, long c, size_t n);
void *memcpy(void *dest, const void *src, size_t n);
void *memmove(void *dest, const void *src, long n);
void *memset(void *s, int c, size_t n);

char *strdup(const char *s);
char *strncpy(char *dest, const char *src, size_t n);
long strncmp(const char *s1, const char *s2, size_t n);
char *strcat(char *dest, const char *src);
char *strchr(const char *s, long c);
char *strrchr(const char *s, long c);
char *strupr(char *s);


void qsort(void *base, long nmemb, long size,
           long (*compar)(const void *, const void *));

/*
 * Character numerics
 */
long numeric(long ch);
long check_base(char ch, long base);
long atol(const char *text);
void ltoa(char *buf, long n, unsigned long base);
void ultoa(char *buf, unsigned long un, unsigned long base);
long str2long(const unsigned char *text);

/*
 * General memory allocation
 */
void *fmalloc(long size, long type);
void *malloc(long size);
void *realloc(void *addr, long new_size);
long free(void *addr);
long free_all(void);
void allocate(long amount);

/*
 * ctype.h
 */
int tolower (int c);
int toupper (int c);

/*
 * Text output
 */
long puts(const char *text);
void error(const char *text1, const char *text2);
#define puts_nl(text)	{ puts(text); puts("\x0a\x0d"); }
long sprintf(char *str, const char *format, ...);
long vsprintf(char *str, const char *format, va_list args);

/*
 * Maths
 */
short Isin(short angle);
short Icos(short angle);
#define ABS(x)    (((x) >= 0) ? (x) : -(x))
#define MIN(x,y)  (((x) < (y)) ? (x) : (y))
#define MAX(x,y)  ((x) > (y) ? (x) : (y))

#endif