LibreOffice
LibreOffice 4.1 SDK C/C++ API Reference
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
rtl
alloc.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#ifndef _RTL_ALLOC_H_
21
#define _RTL_ALLOC_H_
22
23
#include "
sal/config.h
"
24
25
#include "
sal/saldllapi.h
"
26
#include "
sal/types.h
"
27
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
32
41
SAL_DLLPUBLIC
void
* SAL_CALL
rtl_allocateMemory
(
42
sal_Size Bytes
43
)
SAL_THROW_EXTERN_C
();
44
45
60
SAL_DLLPUBLIC
void
* SAL_CALL
rtl_reallocateMemory
(
61
void
* Ptr,
62
sal_Size Bytes
63
)
SAL_THROW_EXTERN_C
();
64
65
70
SAL_DLLPUBLIC
void
SAL_CALL
rtl_freeMemory
(
71
void
* Ptr
72
)
SAL_THROW_EXTERN_C
();
73
74
83
SAL_DLLPUBLIC
void
* SAL_CALL
rtl_allocateZeroMemory
(
84
sal_Size Bytes
85
)
SAL_THROW_EXTERN_C
();
86
87
93
SAL_DLLPUBLIC
void
SAL_CALL
rtl_freeZeroMemory
(
94
void
* Ptr,
95
sal_Size Bytes
96
)
SAL_THROW_EXTERN_C
();
97
98
101
typedef
struct
rtl_arena_st
rtl_arena_type
;
102
103
#define RTL_ARENA_NAME_LENGTH 31
104
105
120
SAL_DLLPUBLIC
rtl_arena_type
* SAL_CALL
rtl_arena_create
(
121
const
char
* pName,
122
sal_Size quantum,
123
sal_Size quantum_cache_max,
124
rtl_arena_type
* source_arena,
125
void
* (SAL_CALL * source_alloc)(
rtl_arena_type
*, sal_Size *),
126
void
(SAL_CALL * source_free) (
rtl_arena_type
*,
void
*, sal_Size),
127
int
nFlags
128
)
SAL_THROW_EXTERN_C
();
129
130
138
SAL_DLLPUBLIC
void
SAL_CALL
rtl_arena_destroy
(
139
rtl_arena_type
* pArena
140
)
SAL_THROW_EXTERN_C
();
141
142
152
SAL_DLLPUBLIC
void
* SAL_CALL
rtl_arena_alloc
(
153
rtl_arena_type
* pArena,
154
sal_Size * pBytes
155
)
SAL_THROW_EXTERN_C
();
156
157
168
SAL_DLLPUBLIC
void
SAL_CALL
rtl_arena_free
(
169
rtl_arena_type
* pArena,
170
void
* pAddr,
171
sal_Size nBytes
172
)
SAL_THROW_EXTERN_C
();
173
174
177
typedef
struct
rtl_cache_st
rtl_cache_type
;
178
179
#define RTL_CACHE_NAME_LENGTH 31
180
181
#define RTL_CACHE_FLAG_BULKDESTROY 1
182
199
SAL_DLLPUBLIC
rtl_cache_type
* SAL_CALL
rtl_cache_create
(
200
const
char
* pName,
201
sal_Size nObjSize,
202
sal_Size nObjAlign,
203
int
(SAL_CALL * constructor)(
void
* pObj,
void
* pUserArg),
204
void
(SAL_CALL * destructor) (
void
* pObj,
void
* pUserArg),
205
void
(SAL_CALL * reclaim) (
void
* pUserArg),
206
void
* pUserArg,
207
rtl_arena_type
* pSource,
208
int
nFlags
209
)
SAL_THROW_EXTERN_C
();
210
211
220
SAL_DLLPUBLIC
void
SAL_CALL
rtl_cache_destroy
(
221
rtl_cache_type
* pCache
222
)
SAL_THROW_EXTERN_C
();
223
224
231
SAL_DLLPUBLIC
void
* SAL_CALL
rtl_cache_alloc
(
232
rtl_cache_type
* pCache
233
)
SAL_THROW_EXTERN_C
();
234
235
245
SAL_DLLPUBLIC
void
SAL_CALL
rtl_cache_free
(
246
rtl_cache_type
* pCache,
247
void
* pObj
248
)
SAL_THROW_EXTERN_C
();
249
250
251
#ifdef __cplusplus
252
}
253
#endif
254
255
#endif
/*_RTL_ALLOC_H_ */
256
257
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Generated on Tue Dec 31 2013 00:00:26 for LibreOffice by
1.8.1.2