1/*
2 * Copyright (c) 2018 Yubico AB. All rights reserved.
3 * Use of this source code is governed by a BSD-style
4 * license that can be found in the LICENSE file.
5 * SPDX-License-Identifier: BSD-2-Clause
6 */
7
8#ifndef _PACKED_H
9#define _PACKED_H
10
11#if defined(__GNUC__)
12#define PACKED_TYPE(type, def)	\
13	typedef def __attribute__ ((__packed__)) type;
14#elif defined(_MSC_VER)
15#define PACKED_TYPE(type, def)	\
16	__pragma(pack(push, 1))	\
17	typedef def type;	\
18	__pragma(pack(pop))
19#else
20#error "please provide a way to define packed types on your platform"
21#endif
22
23#endif /* !_PACKED_H */
24