diff --git a/libsepol/include/sepol/boolean_record.h b/libsepol/include/sepol/boolean_record.h
index 54ca021..9af16be 100644
--- a/libsepol/include/sepol/boolean_record.h
+++ b/libsepol/include/sepol/boolean_record.h
@@ -3,6 +3,9 @@
 
 #include <stddef.h>
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_bool;
 struct sepol_bool_key;
@@ -48,4 +51,5 @@
 
 extern void sepol_bool_free(sepol_bool_t * boolean);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/booleans.h b/libsepol/include/sepol/booleans.h
index 95ee7de..7374dde 100644
--- a/libsepol/include/sepol/booleans.h
+++ b/libsepol/include/sepol/booleans.h
@@ -5,6 +5,9 @@
 #include <sepol/policydb.h>
 #include <sepol/boolean_record.h>
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /*--------------compatibility--------------*/
 
@@ -56,4 +59,5 @@
 			      int (*fn) (const sepol_bool_t * boolean,
 					 void *fn_arg), void *arg);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/context.h b/libsepol/include/sepol/context.h
index c1eadca..a69e8c9 100644
--- a/libsepol/include/sepol/context.h
+++ b/libsepol/include/sepol/context.h
@@ -4,6 +4,9 @@
 #include <sepol/context_record.h>
 #include <sepol/policydb.h>
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /* -- Deprecated -- */
 
@@ -22,4 +25,6 @@
 
 extern int sepol_mls_check(sepol_handle_t * handle,
 			   const sepol_policydb_t * policydb, const char *mls);
+
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/context_record.h b/libsepol/include/sepol/context_record.h
index c305480..c07da8f 100644
--- a/libsepol/include/sepol/context_record.h
+++ b/libsepol/include/sepol/context_record.h
@@ -2,6 +2,9 @@
 #define _SEPOL_CONTEXT_RECORD_H_
 
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_context;
 typedef struct sepol_context sepol_context_t;
@@ -50,4 +53,5 @@
 extern int sepol_context_to_string(sepol_handle_t * handle,
 				   const sepol_context_t * con, char **str_ptr);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/debug.h b/libsepol/include/sepol/debug.h
index 3370845..b852c8d 100644
--- a/libsepol/include/sepol/debug.h
+++ b/libsepol/include/sepol/debug.h
@@ -2,6 +2,9 @@
 #define _SEPOL_DEBUG_H_
 
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /* Deprecated */
 extern void sepol_debug(int on);
@@ -31,4 +34,6 @@
 							 handle,
 							 const char *fmt, ...),
 				   void *msg_callback_arg);
+
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/errcodes.h b/libsepol/include/sepol/errcodes.h
index c6f3a8b..eba7088 100644
--- a/libsepol/include/sepol/errcodes.h
+++ b/libsepol/include/sepol/errcodes.h
@@ -4,6 +4,9 @@
 #define __sepol_errno_h__
 
 #include <errno.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 #define SEPOL_OK             0
 
@@ -22,4 +25,5 @@
 #define SEPOL_EEXIST         -EEXIST
 #define SEPOL_ENOENT         -ENOENT
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/handle.h b/libsepol/include/sepol/handle.h
index 115bda1..00ed0ed 100644
--- a/libsepol/include/sepol/handle.h
+++ b/libsepol/include/sepol/handle.h
@@ -1,6 +1,10 @@
 #ifndef _SEPOL_HANDLE_H_
 #define _SEPOL_HANDLE_H_
 
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
 struct sepol_handle;
 typedef struct sepol_handle sepol_handle_t;
 
@@ -31,4 +35,5 @@
  * 0 is default and discard such branch, 1 preserves them */
 void sepol_set_preserve_tunables(sepol_handle_t * sh, int preserve_tunables);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/iface_record.h b/libsepol/include/sepol/iface_record.h
index a72678c..81d7027 100644
--- a/libsepol/include/sepol/iface_record.h
+++ b/libsepol/include/sepol/iface_record.h
@@ -3,6 +3,9 @@
 
 #include <sepol/handle.h>
 #include <sepol/context_record.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_iface;
 struct sepol_iface_key;
@@ -56,4 +59,5 @@
 
 extern void sepol_iface_free(sepol_iface_t * iface);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/interfaces.h b/libsepol/include/sepol/interfaces.h
index 9849e13..3cb5043 100644
--- a/libsepol/include/sepol/interfaces.h
+++ b/libsepol/include/sepol/interfaces.h
@@ -4,6 +4,9 @@
 #include <sepol/policydb.h>
 #include <sepol/iface_record.h>
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /* Return the number of interfaces */
 extern int sepol_iface_count(sepol_handle_t * handle,
@@ -40,4 +43,5 @@
 			       int (*fn) (const sepol_iface_t * iface,
 					  void *fn_arg), void *arg);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/module.h b/libsepol/include/sepol/module.h
index 35f5cb7..ff27f96 100644
--- a/libsepol/include/sepol/module.h
+++ b/libsepol/include/sepol/module.h
@@ -7,6 +7,9 @@
 
 #include <sepol/handle.h>
 #include <sepol/policydb.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_module_package;
 typedef struct sepol_module_package sepol_module_package_t;
@@ -79,4 +82,5 @@
 			       sepol_policydb_t * base,
 			       sepol_policydb_t * out, int verbose, int check);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/node_record.h b/libsepol/include/sepol/node_record.h
index 9f61ac7..e2d3e6d 100644
--- a/libsepol/include/sepol/node_record.h
+++ b/libsepol/include/sepol/node_record.h
@@ -4,6 +4,9 @@
 #include <stddef.h>
 #include <sepol/context_record.h>
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_node;
 struct sepol_node_key;
@@ -89,4 +92,5 @@
 
 extern void sepol_node_free(sepol_node_t * node);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/nodes.h b/libsepol/include/sepol/nodes.h
index 1e0ac4f..6fa534e 100644
--- a/libsepol/include/sepol/nodes.h
+++ b/libsepol/include/sepol/nodes.h
@@ -4,6 +4,9 @@
 #include <sepol/handle.h>
 #include <sepol/policydb.h>
 #include <sepol/node_record.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /* Return the number of nodes */
 extern int sepol_node_count(sepol_handle_t * handle,
@@ -37,4 +40,5 @@
 			      int (*fn) (const sepol_node_t * node,
 					 void *fn_arg), void *arg);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb.h b/libsepol/include/sepol/policydb.h
index f4ecf57..c3943e9 100644
--- a/libsepol/include/sepol/policydb.h
+++ b/libsepol/include/sepol/policydb.h
@@ -5,6 +5,9 @@
 #include <stdio.h>
 
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_policy_file;
 typedef struct sepol_policy_file sepol_policy_file_t;
@@ -141,4 +144,5 @@
  */
 extern int sepol_policydb_compat_net(const sepol_policydb_t * p);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/avrule_block.h b/libsepol/include/sepol/policydb/avrule_block.h
index dc926e5..ecd347b 100644
--- a/libsepol/include/sepol/policydb/avrule_block.h
+++ b/libsepol/include/sepol/policydb/avrule_block.h
@@ -21,6 +21,9 @@
 #define _SEPOL_AVRULE_BLOCK_H_
 
 #include <sepol/policydb/policydb.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 extern avrule_block_t *avrule_block_create(void);
 extern void avrule_block_destroy(avrule_block_t * x);
@@ -34,4 +37,5 @@
 extern int is_id_enabled(char *id, policydb_t * p, int symbol_table);
 extern int is_perm_enabled(char *class_id, char *perm_id, policydb_t * p);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/avtab.h b/libsepol/include/sepol/policydb/avtab.h
index bb6e79f..3f56a0e 100644
--- a/libsepol/include/sepol/policydb/avtab.h
+++ b/libsepol/include/sepol/policydb/avtab.h
@@ -40,9 +40,12 @@
 #ifndef _SEPOL_POLICYDB_AVTAB_H_
 #define _SEPOL_POLICYDB_AVTAB_H_
 
+#include <sys/cdefs.h>
 #include <sys/types.h>
 #include <stdint.h>
 
+__BEGIN_DECLS
+
 typedef struct avtab_key {
 	uint16_t source_type;
 	uint16_t target_type;
@@ -123,6 +126,7 @@
 /* avtab_alloc uses one bucket per 2-4 elements, so adjust to get maximum buckets */
 #define MAX_AVTAB_SIZE (MAX_AVTAB_HASH_BUCKETS << 1)
 
+__END_DECLS
 #endif				/* _AVTAB_H_ */
 
 /* FLASK */
diff --git a/libsepol/include/sepol/policydb/conditional.h b/libsepol/include/sepol/policydb/conditional.h
index 48ec106..cd2a9a9 100644
--- a/libsepol/include/sepol/policydb/conditional.h
+++ b/libsepol/include/sepol/policydb/conditional.h
@@ -25,6 +25,9 @@
 #include <sepol/policydb/avtab.h>
 #include <sepol/policydb/symtab.h>
 #include <sepol/policydb/policydb.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 #define COND_EXPR_MAXDEPTH 10
 
@@ -133,4 +136,5 @@
 extern void cond_compute_av(avtab_t * ctab, avtab_key_t * key,
 			    struct sepol_av_decision *avd);
 
+__END_DECLS
 #endif				/* _CONDITIONAL_H_ */
diff --git a/libsepol/include/sepol/policydb/constraint.h b/libsepol/include/sepol/policydb/constraint.h
index 4c16ab0..ae7034d 100644
--- a/libsepol/include/sepol/policydb/constraint.h
+++ b/libsepol/include/sepol/policydb/constraint.h
@@ -1,4 +1,3 @@
-
 /* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */
 
 /* FLASK */
@@ -23,6 +22,8 @@
 #include <sepol/policydb/ebitmap.h>
 #include <sepol/policydb/flask_types.h>
 
+__BEGIN_DECLS
+
 #define CEXPR_MAXDEPTH 5
 
 struct type_set;
@@ -72,6 +73,7 @@
 extern int constraint_expr_init(constraint_expr_t * expr);
 extern void constraint_expr_destroy(constraint_expr_t * expr);
 
+__END_DECLS
 #endif				/* _CONSTRAINT_H_ */
 
 /* FLASK */
diff --git a/libsepol/include/sepol/policydb/context.h b/libsepol/include/sepol/policydb/context.h
index 8d74a25..dbb7c3e 100644
--- a/libsepol/include/sepol/policydb/context.h
+++ b/libsepol/include/sepol/policydb/context.h
@@ -1,4 +1,3 @@
-
 /* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */
 
 /* FLASK */
@@ -23,6 +22,8 @@
 #include <sepol/policydb/ebitmap.h>
 #include <sepol/policydb/mls_types.h>
 
+__BEGIN_DECLS
+
 /*
  * A security context consists of an authenticated user
  * identity, a role, a type and a MLS range.
@@ -94,4 +95,5 @@
 		(c1->type == c2->type) && mls_context_cmp(c1, c2));
 }
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/ebitmap.h b/libsepol/include/sepol/policydb/ebitmap.h
index 214da95..801438c 100644
--- a/libsepol/include/sepol/policydb/ebitmap.h
+++ b/libsepol/include/sepol/policydb/ebitmap.h
@@ -1,4 +1,3 @@
-
 /* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */
 
 /* FLASK */
@@ -20,6 +19,9 @@
 
 #include <stdint.h>
 #include <string.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 #define MAPTYPE uint64_t	/* portion of bitmap in each node */
 #define MAPSIZE (sizeof(MAPTYPE) * 8)	/* number of bits in node bitmap */
@@ -89,6 +91,7 @@
 extern void ebitmap_destroy(ebitmap_t * e);
 extern int ebitmap_read(ebitmap_t * e, void *fp);
 
+__END_DECLS
 #endif				/* _EBITMAP_H_ */
 
 /* FLASK */
diff --git a/libsepol/include/sepol/policydb/expand.h b/libsepol/include/sepol/policydb/expand.h
index 31e25ec..a8de41e 100644
--- a/libsepol/include/sepol/policydb/expand.h
+++ b/libsepol/include/sepol/policydb/expand.h
@@ -28,6 +28,9 @@
 #include <stddef.h>
 #include <sepol/handle.h>
 #include <sepol/policydb/conditional.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /*
  * Expand only the avrules for a module. It is valid for this function
@@ -76,4 +79,5 @@
 extern int expand_cond_av_list(policydb_t * p, cond_av_list_t * l,
 			       cond_av_list_t ** newl, avtab_t * expa);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/flask_types.h b/libsepol/include/sepol/policydb/flask_types.h
index 575c6f2..2a59565 100644
--- a/libsepol/include/sepol/policydb/flask_types.h
+++ b/libsepol/include/sepol/policydb/flask_types.h
@@ -1,4 +1,3 @@
-
 /* -*- linux-c -*- */
 
 /*
@@ -14,6 +13,9 @@
 
 #include <sys/types.h>
 #include <stdint.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /*
  * A security context is a set of security attributes 
@@ -59,4 +61,5 @@
 	uint32_t seqno;
 };
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/hashtab.h b/libsepol/include/sepol/policydb/hashtab.h
index 1081ff6..0afc59c 100644
--- a/libsepol/include/sepol/policydb/hashtab.h
+++ b/libsepol/include/sepol/policydb/hashtab.h
@@ -1,4 +1,3 @@
-
 /* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */
 
 /* FLASK */
@@ -18,6 +17,9 @@
 
 #include <stdint.h>
 #include <stdio.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 typedef char *hashtab_key_t;	/* generic key type */
 typedef void *hashtab_datum_t;	/* generic datum type */
@@ -134,4 +136,5 @@
 
 extern void hashtab_hash_eval(hashtab_t h, char *tag);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/hierarchy.h b/libsepol/include/sepol/policydb/hierarchy.h
index de2dfc7..b4eb9bc 100644
--- a/libsepol/include/sepol/policydb/hierarchy.h
+++ b/libsepol/include/sepol/policydb/hierarchy.h
@@ -26,7 +26,11 @@
 #define _SEPOL_POLICYDB_HIERARCHY_H_
 
 #include <sepol/policydb/policydb.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 extern int hierarchy_check_constraints(sepol_handle_t * handle, policydb_t * p);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/link.h b/libsepol/include/sepol/policydb/link.h
index fca9114..7c7c9be 100644
--- a/libsepol/include/sepol/policydb/link.h
+++ b/libsepol/include/sepol/policydb/link.h
@@ -12,9 +12,13 @@
 
 
 #include <stddef.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 extern int link_modules(sepol_handle_t * handle,
 			policydb_t * b, policydb_t ** mods, int len,
 			int verbose);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/mls_types.h b/libsepol/include/sepol/policydb/mls_types.h
index e491209..4bf7367 100644
--- a/libsepol/include/sepol/policydb/mls_types.h
+++ b/libsepol/include/sepol/policydb/mls_types.h
@@ -1,4 +1,3 @@
-
 /* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */
 /*
  * Updated: Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com>
@@ -35,6 +34,9 @@
 #include <stdlib.h>
 #include <sepol/policydb/ebitmap.h>
 #include <sepol/policydb/flask_types.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 typedef struct mls_level {
 	uint32_t sens;		/* sensitivity */
@@ -150,4 +152,5 @@
 extern void mls_semantic_range_destroy(mls_semantic_range_t *r);
 extern int mls_semantic_range_cpy(mls_semantic_range_t *dst, mls_semantic_range_t *src);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/module.h b/libsepol/include/sepol/policydb/module.h
index 10403c8..3fe560c 100644
--- a/libsepol/include/sepol/policydb/module.h
+++ b/libsepol/include/sepol/policydb/module.h
@@ -27,9 +27,12 @@
 
 #include <sepol/policydb/policydb.h>
 #include <sepol/policydb/conditional.h>
+#include <sys/cdefs.h>
 
 #define SEPOL_MODULE_PACKAGE_MAGIC 0xf97cff8f
 
+__BEGIN_DECLS
+
 struct sepol_module_package {
 	sepol_policydb_t *policy;
 	uint32_t version;
@@ -45,4 +48,5 @@
 
 extern int sepol_module_package_init(sepol_module_package_t * p);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/polcaps.h b/libsepol/include/sepol/policydb/polcaps.h
index f90a48d..74b7c9e 100644
--- a/libsepol/include/sepol/policydb/polcaps.h
+++ b/libsepol/include/sepol/policydb/polcaps.h
@@ -1,6 +1,10 @@
 #ifndef _SEPOL_POLICYDB_POLCAPS_H_
 #define _SEPOL_POLICYDB_POLCAPS_H_
 
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
 /* Policy capabilities */
 enum {
 	POLICYDB_CAPABILITY_NETPEER,
@@ -17,4 +21,5 @@
 /* Convert a capability number to name. */
 extern const char *sepol_polcap_getname(int capnum);
 
+__END_DECLS
 #endif /* _SEPOL_POLICYDB_POLCAPS_H_ */
diff --git a/libsepol/include/sepol/policydb/policydb.h b/libsepol/include/sepol/policydb/policydb.h
index 20bf759..6254fef 100644
--- a/libsepol/include/sepol/policydb/policydb.h
+++ b/libsepol/include/sepol/policydb/policydb.h
@@ -1,4 +1,3 @@
-
 /* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */
 
 /*
@@ -62,6 +61,7 @@
 #include <sepol/policydb/context.h>
 #include <sepol/policydb/constraint.h>
 #include <sepol/policydb/sidtab.h>
+#include <sys/cdefs.h>
 
 #define ERRMSG_LEN 1024
 
@@ -69,6 +69,8 @@
 #define POLICYDB_ERROR       -1
 #define POLICYDB_UNSUPPORTED -2
 
+__BEGIN_DECLS
+
 /*
  * A datum type is defined for each kind of symbol 
  * in the configuration data:  individual permissions, 
@@ -234,7 +236,7 @@
 struct cond_av_list;
 
 typedef struct class_perm_node {
-	uint32_t class;
+	uint32_t tclass;
 	uint32_t data;		/* permissions or new type */
 	struct class_perm_node *next;
 } class_perm_node_t;
@@ -742,7 +744,7 @@
 #define POLICYDB_MOD_MAGIC SELINUX_MOD_MAGIC
 #define POLICYDB_MOD_STRING "SE Linux Module"
 
-
+__END_DECLS
 #endif				/* _POLICYDB_H_ */
 
 /* FLASK */
diff --git a/libsepol/include/sepol/policydb/services.h b/libsepol/include/sepol/policydb/services.h
index bcde47b..8a5dc9a 100644
--- a/libsepol/include/sepol/policydb/services.h
+++ b/libsepol/include/sepol/policydb/services.h
@@ -15,6 +15,9 @@
 #include <sepol/policydb/flask_types.h>
 #include <sepol/policydb/policydb.h>
 #include <stddef.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /* Set the policydb and sidtab structures to be used by
    the service functions.  If not set, then these default
@@ -227,4 +230,5 @@
 			   sepol_security_class_t sclass,	/* IN */
 			   sepol_security_id_t * sid);	/* OUT  */
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/policydb/sidtab.h b/libsepol/include/sepol/policydb/sidtab.h
index 33c7cb5..4b93567 100644
--- a/libsepol/include/sepol/policydb/sidtab.h
+++ b/libsepol/include/sepol/policydb/sidtab.h
@@ -1,4 +1,3 @@
-
 /* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */
 
 /* FLASK */
@@ -12,6 +11,9 @@
 #define _SEPOL_POLICYDB_SIDTAB_H_
 
 #include <sepol/policydb/context.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 typedef struct sidtab_node {
 	sepol_security_id_t sid;	/* security identifier */
@@ -67,6 +69,7 @@
 
 extern void sepol_sidtab_shutdown(sidtab_t * s);
 
+__END_DECLS
 #endif				/* _SIDTAB_H_ */
 
 /* FLASK */
diff --git a/libsepol/include/sepol/policydb/symtab.h b/libsepol/include/sepol/policydb/symtab.h
index 490731b..e0da337 100644
--- a/libsepol/include/sepol/policydb/symtab.h
+++ b/libsepol/include/sepol/policydb/symtab.h
@@ -14,6 +14,9 @@
 #define _SEPOL_POLICYDB_SYMTAB_H_
 
 #include <sepol/policydb/hashtab.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /* The symtab_datum struct stores the common information for
  * all symtab datums. It should the first element in every
@@ -34,6 +37,7 @@
 extern int symtab_init(symtab_t *, unsigned int size);
 extern void symtab_destroy(symtab_t *);
 
+__END_DECLS
 #endif				/* _SYMTAB_H_ */
 
 /* FLASK */
diff --git a/libsepol/include/sepol/policydb/util.h b/libsepol/include/sepol/policydb/util.h
index 40bfaa6..ef1c90d 100644
--- a/libsepol/include/sepol/policydb/util.h
+++ b/libsepol/include/sepol/policydb/util.h
@@ -23,9 +23,14 @@
 #ifndef __SEPOL_UTIL_H__
 #define __SEPOL_UTIL_H__
 
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
 extern int add_i_to_a(uint32_t i, uint32_t * cnt, uint32_t ** a);
 
 extern char *sepol_av_to_string(policydb_t * policydbp, uint32_t tclass,
 				sepol_access_vector_t av);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/port_record.h b/libsepol/include/sepol/port_record.h
index b347e08..697cea4 100644
--- a/libsepol/include/sepol/port_record.h
+++ b/libsepol/include/sepol/port_record.h
@@ -3,6 +3,9 @@
 
 #include <sepol/context_record.h>
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_port;
 struct sepol_port_key;
@@ -63,4 +66,5 @@
 
 extern void sepol_port_free(sepol_port_t * port);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/ports.h b/libsepol/include/sepol/ports.h
index fb94117..b4622ba 100644
--- a/libsepol/include/sepol/ports.h
+++ b/libsepol/include/sepol/ports.h
@@ -4,6 +4,9 @@
 #include <sepol/handle.h>
 #include <sepol/policydb.h>
 #include <sepol/port_record.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /* Return the number of ports */
 extern int sepol_port_count(sepol_handle_t * handle,
@@ -37,4 +40,5 @@
 			      int (*fn) (const sepol_port_t * port,
 					 void *fn_arg), void *arg);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/roles.h b/libsepol/include/sepol/roles.h
index 113f9d2..89b3af2 100644
--- a/libsepol/include/sepol/roles.h
+++ b/libsepol/include/sepol/roles.h
@@ -1,10 +1,15 @@
 #ifndef _SEPOL_ROLES_H_
 #define _SEPOL_ROLES_H_
 
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
 extern int sepol_role_exists(const sepol_policydb_t * policydb,
 			     const char *role, int *response);
 
 extern int sepol_role_list(const sepol_policydb_t * policydb,
 			   char ***roles, unsigned int *nroles);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/sepol.h b/libsepol/include/sepol/sepol.h
index c8900d3..00a2129 100644
--- a/libsepol/include/sepol/sepol.h
+++ b/libsepol/include/sepol/sepol.h
@@ -3,6 +3,9 @@
 
 #include <stddef.h>
 #include <stdio.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 #include <sepol/user_record.h>
 #include <sepol/context_record.h>
@@ -25,4 +28,5 @@
 /* Set internal policydb from a file for subsequent service calls. */
 extern int sepol_set_policydb_from_file(FILE * fp);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/user_record.h b/libsepol/include/sepol/user_record.h
index c86ad16..9a39526 100644
--- a/libsepol/include/sepol/user_record.h
+++ b/libsepol/include/sepol/user_record.h
@@ -3,6 +3,9 @@
 
 #include <stddef.h>
 #include <sepol/handle.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 struct sepol_user;
 struct sepol_user_key;
@@ -73,4 +76,5 @@
 
 extern void sepol_user_free(sepol_user_t * user);
 
+__END_DECLS
 #endif
diff --git a/libsepol/include/sepol/users.h b/libsepol/include/sepol/users.h
index 01b0775..0e0f76e 100644
--- a/libsepol/include/sepol/users.h
+++ b/libsepol/include/sepol/users.h
@@ -5,6 +5,9 @@
 #include <sepol/user_record.h>
 #include <sepol/handle.h>
 #include <stddef.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
 
 /*---------compatibility------------*/
 
@@ -54,4 +57,5 @@
 			      int (*fn) (const sepol_user_t * user,
 					 void *fn_arg), void *arg);
 
+__END_DECLS
 #endif
