Home | History | Annotate | Line # | Download | only in src
      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