Browse Source

Keep C++ compilers happy

Suren A. Chilingaryan 8 years ago
parent
commit
e2515f6e1a
14 changed files with 116 additions and 1 deletions
  1. 8 0
      pcilib/bank.h
  2. 9 0
      pcilib/bar.h
  3. 10 0
      pcilib/debug.h
  4. 7 0
      pcilib/dma.h
  5. 8 0
      pcilib/env.h
  6. 9 0
      pcilib/error.h
  7. 7 0
      pcilib/event.h
  8. 10 1
      pcilib/kmem.h
  9. 8 0
      pcilib/model.h
  10. 8 0
      pcilib/pci.h
  11. 8 0
      pcilib/pcilib.h
  12. 8 0
      pcilib/plugin.h
  13. 8 0
      pcilib/register.h
  14. 8 0
      pcilib/tools.h

+ 8 - 0
pcilib/bank.h

@@ -86,6 +86,10 @@ struct pcilib_register_bank_context_s {
     const pcilib_register_protocol_api_description_t *api;			/**< API functions */
 };
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
     // we don't copy strings, they should be statically allocated
 int pcilib_init_register_banks(pcilib_t *ctx);
 void pcilib_free_register_banks(pcilib_t *ctx);
@@ -102,4 +106,8 @@ pcilib_register_protocol_t pcilib_find_register_protocol_by_addr(pcilib_t *ctx,
 pcilib_register_protocol_t pcilib_find_register_protocol_by_name(pcilib_t *ctx, const char *name);
 pcilib_register_protocol_t pcilib_find_register_protocol(pcilib_t *ctx, const char *name);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCILIB_BANK_H */

+ 9 - 0
pcilib/bar.h

@@ -1,7 +1,16 @@
 #ifndef _PCILIB_BAR_H
 #define _PCILIB_BAR_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 pcilib_bar_t pcilib_detect_bar(pcilib_t *ctx, uintptr_t addr, size_t size);
 int pcilib_detect_address(pcilib_t *ctx, pcilib_bar_t *bar, uintptr_t *addr, size_t size);
 
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCILIB_BAR_H */

+ 10 - 0
pcilib/debug.h

@@ -40,8 +40,18 @@ typedef enum {
     PCILIB_DEBUG_BUFFER_MKDIR = 2
 } pcilib_debug_buffer_flags_t; 
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void pcilib_debug_message(const char *function, const char *file, int line, pcilib_log_flags_t flags, const char *format, ...);
 void pcilib_debug_data_buffer(const char *function, size_t size, void *buffer, pcilib_debug_buffer_flags_t flags, const char *file, ...);
 
 
+#ifdef __cplusplus
+}
+#endif
+
+
 #endif /* _PCILIB_DEBUG_H */

+ 7 - 0
pcilib/dma.h

@@ -83,10 +83,17 @@ typedef struct {
 } pcilib_dma_description_t;
 
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 const pcilib_dma_description_t *pcilib_get_dma_description(pcilib_t *ctx);
 pcilib_dma_engine_t pcilib_add_dma_engine(pcilib_t *ctx, pcilib_dma_engine_description_t *desc);
 int pcilib_get_dma_status(pcilib_t *ctx, pcilib_dma_engine_t dma, pcilib_dma_engine_status_t *status, size_t n_buffers, pcilib_dma_buffer_status_t *buffers);
 int pcilib_init_dma(pcilib_t *ctx);
 
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* _PCILIB_DMA_H */

+ 8 - 0
pcilib/env.h

@@ -7,6 +7,14 @@ typedef enum {
     PCILIB_MAX_ENV
 } pcilib_env_t;
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 const char *pcilib_getenv(pcilib_env_t env, const char *var);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCILIB_ENV_H */

+ 9 - 0
pcilib/error.h

@@ -31,9 +31,18 @@ enum {
     PCILIB_ERROR_BUSY = EBUSY
 } pcilib_errot_t;
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void pcilib_log_message(const char *file, int line, pcilib_log_flags_t flags, pcilib_log_priority_t prio, const char *msg, ...);
 void pcilib_log_vmessage(const char *file, int line, pcilib_log_flags_t flags, pcilib_log_priority_t prio, const char *msg, va_list va);
 
+
+#ifdef __cplusplus
+}
+#endif
+
 #define pcilib_log(prio, ...) \
     pcilib_log_message(__FILE__, __LINE__, PCILIB_LOG_DEFAULT, prio, __VA_ARGS__)
 

+ 7 - 0
pcilib/event.h

@@ -89,8 +89,15 @@ typedef struct {
     int (*return_data)(pcilib_context_t *ctx, pcilib_event_id_t event_id, pcilib_event_data_type_t data_type, void *data);
 } pcilib_event_api_description_t;
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 int pcilib_init_event_engine(pcilib_t *ctx);
 
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCILIB_EVENT_H */

+ 10 - 1
pcilib/kmem.h

@@ -13,7 +13,8 @@ typedef enum {
 } pcilib_tristate_t;
 
 #define PCILIB_KMEM_TYPE_MASK	0xFFFF0000
-#define PCILIB_KMEM_USE(type, subtype) (((type) << 16)|(subtype))
+#define PCILIB_KMEM_USE(type, subtype) ((pcilib_kmem_use_t)(((type) << 16)|(subtype)))
+
 
 typedef enum {
     PCILIB_KMEM_TYPE_CONSISTENT = 0x00000,
@@ -95,6 +96,10 @@ struct pcilib_kmem_list_s {
     pcilib_kmem_buffer_t buf;	// variable size, should be last item in struct
 };
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 pcilib_kmem_handle_t *pcilib_alloc_kernel_memory(pcilib_t *ctx, pcilib_kmem_type_t type, size_t nmemb, size_t size, size_t alignment, pcilib_kmem_use_t use, pcilib_kmem_flags_t flags);
 void pcilib_free_kernel_memory(pcilib_t *ctx, pcilib_kmem_handle_t *k, pcilib_kmem_flags_t flags);
 //int pcilib_kmem_sync(pcilib_t *ctx, pcilib_kmem_handle_t *k, pcilib_kmem_sync_direction_t dir);
@@ -110,4 +115,8 @@ pcilib_kmem_reuse_state_t pcilib_kmem_is_reused(pcilib_t *ctx, pcilib_kmem_handl
 
 int pcilib_clean_kernel_memory(pcilib_t *ctx, pcilib_kmem_use_t use, pcilib_kmem_flags_t flags);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCILIB_KMEM_H */

+ 8 - 0
pcilib/model.h

@@ -27,6 +27,14 @@ typedef struct {
 } pcilib_model_description_t;
 
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 const pcilib_model_description_t *pcilib_get_model_description(pcilib_t *ctx);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCILIB_MODEL_H */

+ 8 - 0
pcilib/pci.h

@@ -75,6 +75,10 @@ struct pcilib_s {
 #endif /* PCILIB_FILE_IO */
 };
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 pcilib_context_t *pcilib_get_implementation_context(pcilib_t *ctx);
 const pcilib_board_info_t *pcilib_get_board_info(pcilib_t *ctx);
 const pcilib_pcie_link_info_t *pcilib_get_pcie_link_info(pcilib_t *ctx);
@@ -82,4 +86,8 @@ const pcilib_pcie_link_info_t *pcilib_get_pcie_link_info(pcilib_t *ctx);
 int pcilib_map_register_space(pcilib_t *ctx);
 int pcilib_map_data_space(pcilib_t *ctx, uintptr_t addr);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCITOOL_PCI_H */

+ 8 - 0
pcilib/pcilib.h

@@ -129,6 +129,10 @@ typedef int (*pcilib_dma_callback_t)(void *ctx, pcilib_dma_flags_t flags, size_t
 typedef int (*pcilib_event_callback_t)(pcilib_event_id_t event_id, pcilib_event_info_t *info, void *user);
 typedef int (*pcilib_event_rawdata_callback_t)(pcilib_event_id_t event_id, pcilib_event_info_t *info, pcilib_event_flags_t flags, size_t size, void *data, void *user);
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 
 int pcilib_set_logger(pcilib_log_priority_t min_prio, pcilib_logger_t logger, void *arg);
 
@@ -236,4 +240,8 @@ int pcilib_return_data(pcilib_t *ctx, pcilib_event_id_t event_id, pcilib_event_d
  */
 int pcilib_grab(pcilib_t *ctx, pcilib_event_t event_mask, size_t *size, void **data, pcilib_timeout_t timeout);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCITOOL_PCILIB_H */

+ 8 - 0
pcilib/plugin.h

@@ -1,10 +1,18 @@
 #ifndef _PCILIB_PLUGIN_H
 #define _PCILIB_PLUGIN_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void *pcilib_plugin_load(const char *name);
 void pcilib_plugin_close(void *plug);
 void *pcilib_plugin_get_symbol(void *plug, const char *symbol);
 const pcilib_model_description_t *pcilib_get_plugin_model(pcilib_t *pcilib, void *plug, unsigned short vendor_id, unsigned short device_id, const char *model);
 const pcilib_model_description_t *pcilib_find_plugin_model(pcilib_t *pcilib, unsigned short vendor_id, unsigned short device_id, const char *model);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCILIB_PLUGIN_H */

+ 8 - 0
pcilib/register.h

@@ -47,7 +47,15 @@ typedef struct {
     pcilib_register_bank_t bank;
 } pcilib_register_context_t;
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int pcilib_add_registers(pcilib_t *ctx, size_t n, const pcilib_register_description_t *registers);
 
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* _PCILIB_REGISTER_H */

+ 8 - 0
pcilib/tools.h

@@ -14,6 +14,10 @@
 #define min2(a, b) (((a)<(b))?(a):(b))
 
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int pcilib_isnumber(const char *str);
 int pcilib_isxnumber(const char *str);
 int pcilib_isnumber_n(const char *str, size_t len);
@@ -41,4 +45,8 @@ int pcilib_sleep_until_deadline(struct timeval *tv);
 int pcilib_timecmp(struct timeval *tv1, struct timeval *tv2);
 pcilib_timeout_t pcilib_timediff(struct timeval *tve, struct timeval *tvs);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _PCITOOL_TOOS_H */