Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/lib9p/lib9p_impl.h
39476 views
1
/*
2
* Copyright 2016 Jakub Klama <[email protected]>
3
* All rights reserved
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted providing that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
*
14
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
18
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
22
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
23
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
* POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
28
#ifndef LIB9P_LIB9P_IMPL_H
29
#define LIB9P_LIB9P_IMPL_H
30
31
#include <stdio.h>
32
#include <stdlib.h>
33
34
#ifndef _KERNEL
35
static inline void *
36
l9p_malloc(size_t size)
37
{
38
void *r = malloc(size);
39
40
if (r == NULL) {
41
fprintf(stderr, "cannot allocate %zd bytes: out of memory\n",
42
size);
43
abort();
44
}
45
46
return (r);
47
}
48
49
static inline void *
50
l9p_calloc(size_t n, size_t size)
51
{
52
void *r = calloc(n, size);
53
54
if (r == NULL) {
55
fprintf(stderr, "cannot allocate %zd bytes: out of memory\n",
56
n * size);
57
abort();
58
}
59
60
return (r);
61
}
62
63
static inline void *
64
l9p_realloc(void *ptr, size_t newsize)
65
{
66
void *r = realloc(ptr, newsize);
67
68
if (r == NULL) {
69
fprintf(stderr, "cannot allocate %zd bytes: out of memory\n",
70
newsize);
71
abort();
72
}
73
74
return (r);
75
}
76
#endif /* _KERNEL */
77
78
#endif /* LIB9P_LIB9P_IMPL_H */
79
80