make it easier to redefine /proc for testing/debugging

This commit is contained in:
Doug MacEachern 2005-09-30 23:05:14 +00:00
parent 7c83c105d4
commit f2b304ea3c
2 changed files with 20 additions and 20 deletions

View File

@ -24,8 +24,8 @@
#define PROC_PSTATUS "/status" #define PROC_PSTATUS "/status"
#define SYS_BLOCK "/sys/block" #define SYS_BLOCK "/sys/block"
#define PROC_PARTITIONS "/proc/partitions" #define PROC_PARTITIONS PROC_FS_ROOT "partitions"
#define PROC_DISKSTATS "/proc/diskstats" #define PROC_DISKSTATS PROC_FS_ROOT "diskstats"
/* /*
* /proc/self/stat fields: * /proc/self/stat fields:
@ -438,8 +438,8 @@ static SIGAR_INLINE int proc_isthread(sigar_t *sigar, char *pidstr, int len)
int fd, n, offset=sigar->proc_signal_offset; int fd, n, offset=sigar->proc_signal_offset;
/* sprintf(buffer, "/proc/%s/stat", pidstr) */ /* sprintf(buffer, "/proc/%s/stat", pidstr) */
memcpy(ptr, PROC_FS_ROOT, SSTRLEN(PROC_FS_ROOT)); memcpy(ptr, PROCP_FS_ROOT, SSTRLEN(PROCP_FS_ROOT));
ptr += SSTRLEN(PROC_FS_ROOT); ptr += SSTRLEN(PROCP_FS_ROOT);
memcpy(ptr, pidstr, len); memcpy(ptr, pidstr, len);
ptr += len; ptr += len;
@ -501,7 +501,7 @@ static SIGAR_INLINE int proc_isthread(sigar_t *sigar, char *pidstr, int len)
int sigar_proc_list_get(sigar_t *sigar, int sigar_proc_list_get(sigar_t *sigar,
sigar_proc_list_t *proclist) sigar_proc_list_t *proclist)
{ {
DIR *dirp = opendir("/proc"); DIR *dirp = opendir(PROCP_FS_ROOT);
struct dirent *ent, dbuf; struct dirent *ent, dbuf;
if (!dirp) { if (!dirp) {
@ -1383,7 +1383,7 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
/* in the event that a box has > 36 cpus */ /* in the event that a box has > 36 cpus */
int cpu_id_max = sizeof(cpu_id)/sizeof(int); int cpu_id_max = sizeof(cpu_id)/sizeof(int);
if (!(fp = fopen("/proc/cpuinfo", "r"))) { if (!(fp = fopen(PROC_FS_ROOT "cpuinfo", "r"))) {
return errno; return errno;
} }
@ -1478,7 +1478,7 @@ int sigar_net_route_list_get(sigar_t *sigar,
routelist->size = routelist->number = 0; routelist->size = routelist->number = 0;
if (!(fp = fopen("/proc/net/route", "r"))) { if (!(fp = fopen(PROC_FS_ROOT "net/route", "r"))) {
return errno; return errno;
} }
@ -1519,7 +1519,7 @@ int sigar_net_interface_stat_get(sigar_t *sigar, const char *name,
{ {
int found = 0; int found = 0;
char buffer[BUFSIZ]; char buffer[BUFSIZ];
FILE *fp = fopen("/proc/net/dev", "r"); FILE *fp = fopen(PROC_FS_ROOT "net/dev", "r");
if (!fp) { if (!fp) {
return errno; return errno;
@ -1726,7 +1726,7 @@ static int net_conn_get(sigar_t *sigar,
if (flags & SIGAR_NETCONN_TCP) { if (flags & SIGAR_NETCONN_TCP) {
status = proc_net_read(getter, status = proc_net_read(getter,
"/proc/net/tcp", PROC_FS_ROOT "net/tcp",
flags, SIGAR_NETCONN_TCP); flags, SIGAR_NETCONN_TCP);
if (status != SIGAR_OK) { if (status != SIGAR_OK) {
@ -1734,7 +1734,7 @@ static int net_conn_get(sigar_t *sigar,
} }
status = proc_net_read(getter, status = proc_net_read(getter,
"/proc/net/tcp6", PROC_FS_ROOT "net/tcp6",
flags, SIGAR_NETCONN_TCP); flags, SIGAR_NETCONN_TCP);
if (!((status == SIGAR_OK) || (status == ENOENT))) { if (!((status == SIGAR_OK) || (status == ENOENT))) {
@ -1744,7 +1744,7 @@ static int net_conn_get(sigar_t *sigar,
if (flags & SIGAR_NETCONN_UDP) { if (flags & SIGAR_NETCONN_UDP) {
status = proc_net_read(getter, status = proc_net_read(getter,
"/proc/net/udp", PROC_FS_ROOT "net/udp",
flags, SIGAR_NETCONN_UDP); flags, SIGAR_NETCONN_UDP);
if (status != SIGAR_OK) { if (status != SIGAR_OK) {
@ -1752,7 +1752,7 @@ static int net_conn_get(sigar_t *sigar,
} }
status = proc_net_read(getter, status = proc_net_read(getter,
"/proc/net/udp6", PROC_FS_ROOT "net/udp6",
flags, SIGAR_NETCONN_UDP); flags, SIGAR_NETCONN_UDP);
if (!((status == SIGAR_OK) || (status == ENOENT))) { if (!((status == SIGAR_OK) || (status == ENOENT))) {
@ -1762,7 +1762,7 @@ static int net_conn_get(sigar_t *sigar,
if (flags & SIGAR_NETCONN_RAW) { if (flags & SIGAR_NETCONN_RAW) {
status = proc_net_read(getter, status = proc_net_read(getter,
"/proc/net/raw", PROC_FS_ROOT "net/raw",
flags, SIGAR_NETCONN_RAW); flags, SIGAR_NETCONN_RAW);
if (status != SIGAR_OK) { if (status != SIGAR_OK) {
@ -1770,7 +1770,7 @@ static int net_conn_get(sigar_t *sigar,
} }
status = proc_net_read(getter, status = proc_net_read(getter,
"/proc/net/raw6", PROC_FS_ROOT "net/raw6",
flags, SIGAR_NETCONN_RAW); flags, SIGAR_NETCONN_RAW);
if (!((status == SIGAR_OK) || (status == ENOENT))) { if (!((status == SIGAR_OK) || (status == ENOENT))) {
@ -1847,7 +1847,7 @@ int sigar_proc_port_get(sigar_t *sigar, int protocol,
return SIGAR_OK; /* XXX or ENOENT? */ return SIGAR_OK; /* XXX or ENOENT? */
} }
if (!(dirp = opendir("/proc"))) { if (!(dirp = opendir(PROCP_FS_ROOT))) {
return errno; return errno;
} }
@ -1867,8 +1867,8 @@ int sigar_proc_port_get(sigar_t *sigar, int protocol,
} }
/* sprintf(pid_name, "/proc/%s", ent->d_name) */ /* sprintf(pid_name, "/proc/%s", ent->d_name) */
memcpy(&pid_name[0], PROC_FS_ROOT, SSTRLEN(PROC_FS_ROOT)); memcpy(&pid_name[0], PROCP_FS_ROOT, SSTRLEN(PROCP_FS_ROOT));
len = SSTRLEN(PROC_FS_ROOT); len = SSTRLEN(PROCP_FS_ROOT);
pid_name[len++] = '/'; pid_name[len++] = '/';
slen = strlen(ent->d_name); slen = strlen(ent->d_name);

View File

@ -83,10 +83,10 @@ char *sigar_proc_filename(char *buffer, int buflen,
char *pid_str = sigar_uitoa(pid_buf, pid, &len); char *pid_str = sigar_uitoa(pid_buf, pid, &len);
assert((unsigned int)buflen >= assert((unsigned int)buflen >=
(SSTRLEN(PROC_FS_ROOT) + UITOA_BUFFER_SIZE + fname_len + 1)); (SSTRLEN(PROCP_FS_ROOT) + UITOA_BUFFER_SIZE + fname_len + 1));
memcpy(ptr, PROC_FS_ROOT, SSTRLEN(PROC_FS_ROOT)); memcpy(ptr, PROCP_FS_ROOT, SSTRLEN(PROCP_FS_ROOT));
ptr += SSTRLEN(PROC_FS_ROOT); ptr += SSTRLEN(PROCP_FS_ROOT);
memcpy(ptr, pid_str, len); memcpy(ptr, pid_str, len);
ptr += len; ptr += len;