diff options
Diffstat (limited to 'src/packed.h')
-rw-r--r-- | src/packed.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/packed.h b/src/packed.h new file mode 100644 index 0000000..5f53ae5 --- /dev/null +++ b/src/packed.h @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2018 Yubico AB. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _PACKED_H +#define _PACKED_H + +#if defined(__GNUC__) +#define PACKED_TYPE(type, def) \ + typedef def __attribute__ ((__packed__)) type; +#elif defined(_MSC_VER) +#define PACKED_TYPE(type, def) \ + __pragma(pack(push, 1)) \ + typedef def type; \ + __pragma(pack(pop)) +#else +#error "please provide a way to define packed types on your platform" +#endif + +#endif /* !_PACKED_H */ |