InnoDB Plugin  1.0
mach0data.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
16 
17 *****************************************************************************/
18 
19 /******************************************************************/
27 #ifndef mach0data_h
28 #define mach0data_h
29 
30 #ifndef UNIV_INNOCHECKSUM
31 
32 #include "univ.i"
33 #include "ut0byte.h"
34 
35 /* The data and all fields are always stored in a database file
36 in the same format: ascii, big-endian, ... .
37 All data in the files MUST be accessed using the functions in this
38 module. */
39 
40 /*******************************************************/
42 UNIV_INLINE
43 void
45 /*============*/
46  byte* b,
47  ulint n);
48 /********************************************************/
51 UNIV_INLINE
52 ulint
54 /*=============*/
55  const byte* b)
56  __attribute__((nonnull, pure));
57 /*******************************************************/
60 UNIV_INLINE
61 void
63 /*============*/
64  byte* b,
65  ulint n);
66 /********************************************************/
70 UNIV_INLINE
71 ulint
73 /*=============*/
74  const byte* b)
75  __attribute__((nonnull, pure));
76 
77 /********************************************************/
82 UNIV_INLINE
83 uint16
85 /*==========*/
86  ulint n)
87  __attribute__((const));
88 /********************************************************/
93 UNIV_INLINE
94 ulint
96 /*==========*/
97  uint16 n)
98  __attribute__((const));
99 /*******************************************************/
102 UNIV_INLINE
103 void
105 /*============*/
106  byte* b,
107  ulint n);
108 /********************************************************/
112 UNIV_INLINE
113 ulint
115 /*=============*/
116  const byte* b)
117  __attribute__((nonnull, pure));
118 /*******************************************************/
121 UNIV_INLINE
122 void
124 /*============*/
125  byte* b,
126  ulint n);
127 /********************************************************/
131 UNIV_INLINE
132 ulint
134 /*=============*/
135  const byte* b)
136  __attribute__((nonnull, pure));
137 /*********************************************************/
140 UNIV_INLINE
141 ulint
143 /*==================*/
144  byte* b,
145  ulint n);
146 /*********************************************************/
149 UNIV_INLINE
150 ulint
152 /*=====================*/
153  ulint n)
154  __attribute__((const));
155 /*********************************************************/
158 UNIV_INLINE
159 ulint
161 /*=================*/
162  const byte* b)
163  __attribute__((nonnull, pure));
164 /*******************************************************/
167 UNIV_INLINE
168 void
170 /*============*/
171  byte* b,
172  ib_uint64_t id);
173 /********************************************************/
177 UNIV_INLINE
178 ib_uint64_t
180 /*=============*/
181  const byte* b)
182  __attribute__((nonnull, pure));
183 /*******************************************************/
186 UNIV_INLINE
187 void
189 /*============*/
190  byte* b,
191  ib_uint64_t n);
192 /********************************************************/
196 UNIV_INLINE
197 ib_uint64_t
199 /*=============*/
200  const byte* b)
201  __attribute__((nonnull, pure));
202 /*******************************************************/
205 UNIV_INLINE
206 void
208 /*============*/
209  void* b,
210  ib_uint64_t n);
211 /********************************************************/
215 UNIV_INLINE
216 ib_uint64_t
218 /*=============*/
219  const byte* b)
220  __attribute__((nonnull, pure));
221 /*********************************************************/
224 UNIV_INLINE
225 ulint
227 /*======================*/
228  byte* b,
229  ib_uint64_t n);
230 /*********************************************************/
233 UNIV_INLINE
234 ulint
236 /*=========================*/
237  ib_uint64_t n);
238 /*********************************************************/
241 UNIV_INLINE
242 ib_uint64_t
244 /*=====================*/
245  const byte* b)
246  __attribute__((nonnull, pure));
247 /*********************************************************/
250 UNIV_INLINE
251 ulint
253 /*===========================*/
254  byte* b,
255  ib_uint64_t n);
256 /*********************************************************/
259 UNIV_INLINE
260 ulint
262 /*==============================*/
263  ib_uint64_t n)
264  __attribute__((const));
265 /*********************************************************/
268 UNIV_INLINE
269 ib_uint64_t
271 /*==========================*/
272  const byte* b)
273  __attribute__((nonnull, pure));
274 /*********************************************************/
277 UNIV_INTERN
278 byte*
280 /*==================*/
281  byte* ptr,
282  byte* end_ptr,
283  ulint* val);
284 /*********************************************************/
288 UNIV_INLINE
289 byte*
291 /*======================*/
292  byte* ptr,
293  byte* end_ptr,
294  ib_uint64_t* val);
295 #ifndef UNIV_HOTBACKUP
296 /*********************************************************/
299 UNIV_INLINE
300 double
302 /*=============*/
303  const byte* b)
304  __attribute__((nonnull, pure));
305 /*********************************************************/
307 UNIV_INLINE
308 void
310 /*==============*/
311  byte* b,
312  double d);
313 /*********************************************************/
316 UNIV_INLINE
317 float
319 /*============*/
320  const byte* b)
321  __attribute__((nonnull, pure));
322 /*********************************************************/
324 UNIV_INLINE
325 void
327 /*=============*/
328  byte* b,
329  float d);
330 /*********************************************************/
333 UNIV_INLINE
334 ulint
336 /*===========================*/
337  const byte* buf,
338  ulint buf_size)
339  __attribute__((nonnull, pure));
340 /*********************************************************/
342 UNIV_INLINE
343 void
345 /*==========================*/
346  byte* dest,
347  ulint dest_size,
348  ulint n);
349 /*********************************************************/
352 UNIV_INLINE
353 ulint
355 /*===========================*/
356  const byte* buf)
357  __attribute__((nonnull, pure));
358 /*********************************************************/
360 UNIV_INLINE
361 void
363 /*==========================*/
364  byte* dest,
365  ulint n);
366 /*********************************************************/
370 UNIV_INLINE
371 ib_uint64_t
373 /*===============*/
374  const byte* src,
375  ulint len,
376  ibool unsigned_type);
377 /***********************************************************/
380 UNIV_INLINE
381 void
383 /*================*/
384  byte* dest,
385  const byte* src,
386  ulint len,
387  bool usign);
389 /*************************************************************
390 Convert a ulonglong integer from host byte order to (big-endian)
391 storage byte order. */
392 UNIV_INLINE
393 void
395 /*=================*/
396  byte* dest,
397  ulonglong src,
398  ulint len,
399  bool usign);
401 /********************************************************/
404 UNIV_INLINE
405 ulint
407 /*============*/
408  const byte* ptr,
409  ulint type);
411 #endif /* !UNIV_HOTBACKUP */
412 #endif /* !UNIV_INNOCHECKSUM */
413 
414 #ifndef UNIV_NONINL
415 #include "mach0data.ic"
416 #endif
417 
418 #endif