dpkg-def.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * libdpkg - Debian packaging suite library routines
  3. * dpkg-def.h - C language support definitions
  4. *
  5. * Copyright © 1994,1995 Ian Jackson <ian@chiark.greenend.org.uk>
  6. *
  7. * This is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as
  9. * published by the Free Software Foundation; either version 2,
  10. * or (at your option) any later version.
  11. *
  12. * This is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public
  18. * License along with dpkg; if not, write to the Free Software
  19. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. */
  21. #ifndef DPKG_DEF_H
  22. #define DPKG_DEF_H
  23. #if HAVE_C_ATTRIBUTE
  24. # define CONSTANT __attribute__((constant))
  25. # define PRINTFFORMAT(si, tc) __attribute__((format(printf,si,tc)))
  26. # define NONRETURNING __attribute__((noreturn))
  27. # define UNUSED __attribute__((unused))
  28. #else
  29. # define CONSTANT
  30. # define PRINTFFORMAT(si, tc)
  31. # define NONRETURNING
  32. # define UNUSED
  33. #endif
  34. #ifdef __cplusplus
  35. #define DPKG_BEGIN_DECLS extern "C" {
  36. #define DPKG_END_DECLS }
  37. #else
  38. #define DPKG_BEGIN_DECLS
  39. #define DPKG_END_DECLS
  40. #endif
  41. #endif