1292407Sbr/*-
2292407Sbr * Copyright (c) 1990 The Regents of the University of California.
3292407Sbr * All rights reserved.
4292407Sbr *
5292407Sbr * This code is derived from software contributed to Berkeley by
6292407Sbr * William Jolitz.
7292407Sbr *
8292407Sbr * Redistribution and use in source and binary forms, with or without
9292407Sbr * modification, are permitted provided that the following conditions
10292407Sbr * are met:
11292407Sbr * 1. Redistributions of source code must retain the above copyright
12292407Sbr *    notice, this list of conditions and the following disclaimer.
13292407Sbr * 2. Redistributions in binary form must reproduce the above copyright
14292407Sbr *    notice, this list of conditions and the following disclaimer in the
15292407Sbr *    documentation and/or other materials provided with the distribution.
16292407Sbr *
17292407Sbr * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18292407Sbr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19292407Sbr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20292407Sbr * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21292407Sbr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22292407Sbr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23292407Sbr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24292407Sbr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25292407Sbr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26292407Sbr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27292407Sbr * SUCH DAMAGE.
28292407Sbr *
29292407Sbr *	from: @(#)param.h	5.8 (Berkeley) 6/28/91
30292407Sbr * $FreeBSD$
31292407Sbr */
32292407Sbr
33292407Sbr#ifndef _MACHINE__ALIGN_H_
34292407Sbr#define	_MACHINE__ALIGN_H_
35292407Sbr
36292407Sbr/*
37292407Sbr * Round p (pointer or byte index) up to a correctly-aligned value
38292407Sbr * for all data types (int, long, ...).   The result is unsigned int
39292407Sbr * and must be cast to any desired pointer type.
40292407Sbr */
41292407Sbr#define	_ALIGNBYTES	(sizeof(long long) - 1)
42292407Sbr#define	_ALIGN(p)	(((u_long)(p) + _ALIGNBYTES) & ~_ALIGNBYTES)
43292407Sbr
44292407Sbr#endif /* !_MACHINE__ALIGN_H_ */
45