|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [Xen-devel] Unable to include xen/sched.h
 
You need to define __XEN_TOOLS__ before you include any Xen public headers. 
 
 -- Keir 
 
On 14/11/07 12:38, "ashutosh mehra" <ashutosh.xen@xxxxxxxxx> wrote: 
 
Hi, 
I tried including sysctl.h using  
#ifndef __XEN_TOOLS__ 
#define __XEN_TOOLS__ 1 
#endif 
#include <xen/interface/sysctl.h> 
 
 but on compilation I get following errors: 
 
In file included from /usr/local/src/xen- 3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:35, 
                 from /home/ashu/Desktop/xenmodule/mymodule.c:19: 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:40: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:95: error: expected specifier-qualifier-list before uint64_aligned_t 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:112: error: expected specifier-qualifier-list before uint64_aligned_t  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:138: error: expected specifier-qualifier-list before uint64_aligned_t 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:150: error: expected specifier-qualifier-list before uint64_aligned_t  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:226: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:237: error: expected specifier-qualifier-list before uint64_aligned_t  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:247: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:261: error: expected specifier-qualifier-list before uint64_aligned_t  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:299: error: expected specifier-qualifier-list before uint64_aligned_t 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:342: error: expected specifier-qualifier-list before uint64_aligned_t  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:362: error: expected specifier-qualifier-list before uint64_aligned_t 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:374: error: expected specifier-qualifier-list before uint64_aligned_t  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:397: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 
In file included from /home/ashu/Desktop/xenmodule/mymodule.c:19:  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:46: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:68: error: expected specifier-qualifier-list before uint64_aligned_t  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:84: error: expected specifier-qualifier-list before uint64_aligned_t 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:124: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64  
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:136: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 
/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:149: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64  
 
Any solutions for this problem? 
 
One more question... 
How to add a watch on entire tree? I tried using register_xenbus_watch() to add a watch on "local/domain" but it is not working. 
And... 
what does this function do? 
char **xenbus_directory(struct xenbus_transaction t, 
            const char *dir, const char *node, unsigned int *num); 
 
Thanks, 
Ashutosh 
 
 
On Nov 14, 2007 4:54 PM, Keir Fraser < Keir.Fraser@xxxxxxxxxxxx> wrote: 
 
 
 
On 14/11/07 11:21, "ashutosh mehra" <ashutosh.xen@xxxxxxxxx> wrote: 
 
I tried #include<xen/interface/sysctl.h> but I get an error: #error "domctl operations are intended for use by node control tools only"  
 
Keir, how do I add a watch on an entire path, e.g. /local/domain/? More importantly, how can I get the list of domains/domainIds of the currently running domains in a module running in dom0 kernel?? Please help, I'm looking for an answer to this since quite a few days!  
  
You can add a watch on that entire path from dom0, no problem. As for getting a list of all domains, you can only do that with sysctl. If you really need it then #define __XEN_TOOLS__ before including sysctl.h. 
 
 -- Keir 
 
  
 
  
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |