[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Xen tools (libxs, xenstore) and C++
Hello,I'd like to use xenctrl.h and a handful of other headers in a C++ application. The headers I'm interested now are xenctrl.h, xen/hvm/save.h, xen/mem_event.h and xenstore.h. Unfortunately, they're not C++-friendly. Here's why: 1. None of the headers enclose their contents in: #ifdef __cplusplus extern "C" { #endif /* contents here */ #ifdef __cplusplus } #endif2. xen/arch-x86/hvm/save.h uses the C++ keyword 'new' as a parameter name (quite a few times). 3. C++ (being type-safer) frowns upon such assignments as: struct hvm_hw_cpu *newcpu=h; // h is void* which should be explicitly written as: struct hvm_hw_cpu *newcpu=(struct hvm_hw_cpu *)h;4. xenctrl.h typedefs "enum xc_error_code xc_error_code;" _before_ "enum xc_error_code { /* ... */ }" has been defined, which C++ doesn't allow. I'm also getting:/usr/include/xen/mem_event.h:71:1: error: expected ‘;’ after union definition /usr/include/xen/mem_event.h:71:1: error: expected ‘:’ before ‘;’ tokenwhere the DEFINE_RING_TYPES(mem_event, mem_event_request_t, mem_event_response_t); macro is being expanded in mem_event.h. Are there plans to have the userspace libraries be friendlier to C++? Thanks, Razvan Cojocaru _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |