00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #include "config.h"
00019 
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <unistd.h>
00023 
00024 #include <sys/types.h>
00025 
00026 #include <rk/rk.h>
00027 
00028 #include "rk_util.h"
00029 
00030 #include "rk_ResourceSet.h"
00031 
00032 #define UNUSED_ARG(a) do {} while (&a == 0)
00033 
00034 JNIEXPORT jlong JNICALL
00035 Java_rk_ResourceSet_getUsage(JNIEnv *env, jclass java_class)
00036 {
00037     rk_resource_set_t rs;
00038     jlong retval = 0;
00039     
00040     UNUSED_ARG(env);
00041     UNUSED_ARG(java_class);
00042 
00043     if( (rs = rk_proc_get_rset(getpid())) != NULL_RESOURCE_SET )
00044     {
00045         struct rk_resource_set_usage rsu;
00046         int rc;
00047 
00048         memset(&rsu, 0, sizeof(rsu));
00049         if( (rc = rk_resource_set_get_usage(rs, &rsu, NULL)) == 0 )
00050         {
00051             retval = rsu.active_cpu_usage;
00052         }
00053         else
00054         {
00055         }
00056     }
00057     else
00058     {
00059     }
00060     return( retval );
00061 }