1*412042e2SAndrew Turner /*- 2*412042e2SAndrew Turner * Copyright (c) 1990 The Regents of the University of California. 3*412042e2SAndrew Turner * All rights reserved. 4*412042e2SAndrew Turner * 5*412042e2SAndrew Turner * This code is derived from software contributed to Berkeley by 6*412042e2SAndrew Turner * William Jolitz. 7*412042e2SAndrew Turner * 8*412042e2SAndrew Turner * Redistribution and use in source and binary forms, with or without 9*412042e2SAndrew Turner * modification, are permitted provided that the following conditions 10*412042e2SAndrew Turner * are met: 11*412042e2SAndrew Turner * 1. Redistributions of source code must retain the above copyright 12*412042e2SAndrew Turner * notice, this list of conditions and the following disclaimer. 13*412042e2SAndrew Turner * 2. Redistributions in binary form must reproduce the above copyright 14*412042e2SAndrew Turner * notice, this list of conditions and the following disclaimer in the 15*412042e2SAndrew Turner * documentation and/or other materials provided with the distribution. 16*412042e2SAndrew Turner * 17*412042e2SAndrew Turner * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18*412042e2SAndrew Turner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19*412042e2SAndrew Turner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20*412042e2SAndrew Turner * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21*412042e2SAndrew Turner * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22*412042e2SAndrew Turner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23*412042e2SAndrew Turner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24*412042e2SAndrew Turner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25*412042e2SAndrew Turner * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26*412042e2SAndrew Turner * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27*412042e2SAndrew Turner * SUCH DAMAGE. 28*412042e2SAndrew Turner * 29*412042e2SAndrew Turner * from: @(#)param.h 5.8 (Berkeley) 6/28/91 30*412042e2SAndrew Turner * $FreeBSD$ 31*412042e2SAndrew Turner */ 32*412042e2SAndrew Turner 33*412042e2SAndrew Turner #ifndef _MACHINE__ALIGN_H_ 34*412042e2SAndrew Turner #define _MACHINE__ALIGN_H_ 35*412042e2SAndrew Turner 36*412042e2SAndrew Turner /* 37*412042e2SAndrew Turner * Round p (pointer or byte index) up to a correctly-aligned value 38*412042e2SAndrew Turner * for all data types (int, long, ...). The result is unsigned int 39*412042e2SAndrew Turner * and must be cast to any desired pointer type. 40*412042e2SAndrew Turner */ 41*412042e2SAndrew Turner #define _ALIGNBYTES (sizeof(long long) - 1) 42*412042e2SAndrew Turner #define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) 43*412042e2SAndrew Turner 44*412042e2SAndrew Turner #endif /* !_MACHINE__ALIGN_H_ */ 45