--- projects/pystatgrab/_statgrab.pyx 2005/07/30 10:49:42 1.16 +++ projects/pystatgrab/_statgrab.pyx 2007/07/13 22:26:19 1.20 @@ -17,7 +17,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # -# $Id: _statgrab.pyx,v 1.16 2005/07/30 10:49:42 tdb Exp $ +# $Id: _statgrab.pyx,v 1.20 2007/07/13 22:26:19 tdb Exp $ # ctypedef long time_t @@ -27,6 +27,8 @@ ctypedef int gid_t cdef extern from "statgrab.h": cdef extern int sg_init() + cdef extern int sg_shutdown() + cdef extern int sg_snapshot() cdef extern int sg_drop_privileges() ctypedef enum sg_error: @@ -140,6 +142,13 @@ cdef extern from "statgrab.h": long long total_inodes long long used_inodes long long free_inodes + long long avail_inodes + long long io_size + long long block_size + long long total_blocks + long long free_blocks + long long used_blocks + long long avail_blocks cdef extern sg_fs_stats *sg_get_fs_stats(int *entries) @@ -288,6 +297,18 @@ def py_sg_init(): else: return False +def py_sg_shutdown(): + if sg_shutdown() == 0: + return True + else: + return False + +def py_sg_snapshot(): + if sg_snapshot() == 0: + return True + else: + return False + def py_sg_drop_privileges(): if sg_drop_privileges() == 0: return True @@ -448,6 +469,13 @@ def py_sg_get_fs_stats(): 'total_inodes': s.total_inodes, 'used_inodes': s.used_inodes, 'free_inodes': s.free_inodes, + 'avail_inodes': s.avail_inodes, + 'io_size': s.io_size, + 'block_size': s.block_size, + 'total_blocks': s.total_blocks, + 'free_blocks': s.free_blocks, + 'used_blocks': s.used_blocks, + 'avail_blocks': s.avail_blocks, } )) s = s + 1 @@ -583,13 +611,17 @@ def py_sg_get_process_stats(): raise StatgrabException, 'sg_get_process_stats() returned NULL' list = [] for i from 0 <= i < entries: - if s.process_name == NULL: - s.process_name = '' - if s.proctitle == NULL: - s.proctitle = '' + if s.process_name is NULL: + process_name = '' + else: + process_name = s.process_name + if s.proctitle is NULL: + proctitle = '' + else: + proctitle = s.proctitle list.append(Result( - {'process_name': s.process_name, - 'proctitle' : s.proctitle, + {'process_name': process_name, + 'proctitle' : proctitle, 'pid' : s.pid, 'parent' : s.parent, 'pgid' : s.pgid,