1538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber/* 2538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * Copyright (c) 2004-2010 Alex Pankratov. All rights reserved. 3538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * 4538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * Hierarchical memory allocator, 1.2.1 5538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * http://swapped.cc/halloc 6538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber */ 7538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber 8538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber/* 9538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * The program is distributed under terms of BSD license. 10538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * You can obtain the copy of the license by visiting: 11538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * 12538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * http://www.opensource.org/licenses/bsd-license.php 13538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber */ 14538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber 15538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber#ifndef _LIBP_ALIGN_H_ 16538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber#define _LIBP_ALIGN_H_ 17538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber 18538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber/* 19538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber * a type with the most strict alignment requirements 20538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber */ 21538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huberunion max_align 22538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber{ 23538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber char c; 24538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber short s; 25538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber long l; 26538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber int i; 27538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber float f; 28538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber double d; 29538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber void * v; 30538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber void (*q)(void); 31538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber}; 32538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber 33538f6170b788de7408b06efc6613dc98579aa6a6Andreas Hubertypedef union max_align max_align_t; 34538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber 35538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber#endif 36538f6170b788de7408b06efc6613dc98579aa6a6Andreas Huber 37