⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysinfo.h

📁 linux下获取一些环境信息的代码
💻 H
字号:
#ifndef PROC_SYSINFO_H#define PROC_SYSINFO_H#include <sys/types.h>#include <sys/dir.h>#include "procps.h"EXTERN_C_BEGINextern unsigned long long Hertz;   /* clock tick frequency */extern long smp_num_cpus;     /* number of CPUs */extern int have_privs;     /* boolean, true if setuid or similar */#if 0#define JT doubleextern void eight_cpu_numbers(JT *uret, JT *nret, JT *sret, JT *iret, JT *wret, JT *xret, JT *yret, JT *zret);#undef JT#endifextern int        uptime (double *uptime_secs, double *idle_secs);extern void       loadavg(double *av1, double *av5, double *av15);/* obsolete */extern unsigned long kb_main_shared;/* old but still kicking -- the important stuff */extern unsigned long kb_main_buffers;extern unsigned long kb_main_cached;extern unsigned long kb_main_free;extern unsigned long kb_main_total;extern unsigned long kb_swap_free;extern unsigned long kb_swap_total;/* recently introduced */extern unsigned long kb_high_free;extern unsigned long kb_high_total;extern unsigned long kb_low_free;extern unsigned long kb_low_total;/* 2.4.xx era */extern unsigned long kb_active;extern unsigned long kb_inact_laundry;  // grrr...extern unsigned long kb_inact_dirty;extern unsigned long kb_inact_clean;extern unsigned long kb_inact_target;extern unsigned long kb_swap_cached;  /* late 2.4+ *//* derived values */extern unsigned long kb_swap_used;extern unsigned long kb_main_used;/* 2.5.41+ */extern unsigned long kb_writeback;extern unsigned long kb_slab;extern unsigned long nr_reversemaps;extern unsigned long kb_committed_as;extern unsigned long kb_dirty;extern unsigned long kb_inactive;extern unsigned long kb_mapped;extern unsigned long kb_pagetables;#define BUFFSIZE (64*1024)typedef unsigned long long jiff;extern void getstat(jiff *restrict cuse, jiff *restrict cice, jiff *restrict csys, jiff *restrict cide, jiff *restrict ciow, jiff *restrict cxxx, jiff *restrict cyyy, jiff *restrict czzz,	     unsigned long *restrict pin, unsigned long *restrict pout, unsigned long *restrict s_in, unsigned long *restrict sout,	     unsigned *restrict intr, unsigned *restrict ctxt,	     unsigned int *restrict running, unsigned int *restrict blocked,	     unsigned int *restrict btime, unsigned int *restrict processes);extern void meminfo(void);extern unsigned long vm_nr_dirty;extern unsigned long vm_nr_writeback;extern unsigned long vm_nr_pagecache;extern unsigned long vm_nr_page_table_pages;extern unsigned long vm_nr_reverse_maps;extern unsigned long vm_nr_mapped;extern unsigned long vm_nr_slab;extern unsigned long vm_pgpgin;extern unsigned long vm_pgpgout;extern unsigned long vm_pswpin;extern unsigned long vm_pswpout;extern unsigned long vm_pgalloc;extern unsigned long vm_pgfree;extern unsigned long vm_pgactivate;extern unsigned long vm_pgdeactivate;extern unsigned long vm_pgfault;extern unsigned long vm_pgmajfault;extern unsigned long vm_pgscan;extern unsigned long vm_pgrefill;extern unsigned long vm_pgsteal;extern unsigned long vm_kswapd_steal;extern unsigned long vm_pageoutrun;extern unsigned long vm_allocstall;extern void vminfo(void);typedef struct disk_stat{	unsigned long long reads_sectors;	unsigned long long written_sectors;	char               disk_name [16];	unsigned           inprogress_IO;	unsigned           merged_reads;	unsigned           merged_writes;	unsigned           milli_reading;	unsigned           milli_spent_IO;	unsigned           milli_writing;	unsigned           partitions;	unsigned           reads;	unsigned           weighted_milli_spent_IO;	unsigned           writes;}disk_stat;typedef struct partition_stat{	char partition_name [16];	unsigned long long reads_sectors;	unsigned           parent_disk;  // index into a struct disk_stat array	unsigned           reads;	unsigned           writes;	unsigned           requested_writes;}partition_stat;extern unsigned int getpartitions_num(struct disk_stat *disks, int ndisks);extern unsigned int getdiskstat (struct disk_stat**,struct partition_stat**);typedef struct slab_cache{	char name[48];	unsigned active_objs;	unsigned num_objs;	unsigned objsize;	unsigned objperslab;}slab_cache;extern unsigned int getslabinfo (struct slab_cache**);extern unsigned get_pid_digits(void) FUNCTION;EXTERN_C_END#endif /* SYSINFO_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -