131 |
|
|
132 |
|
#ifdef LINUX |
133 |
|
if ((f=fopen("/proc/uptime", "r")) == NULL) { |
134 |
< |
sg_set_error(SG_ERROR_OPEN, "/proc/uptime"); |
134 |
> |
sg_set_error_with_errno(SG_ERROR_OPEN, "/proc/uptime"); |
135 |
|
return NULL; |
136 |
|
} |
137 |
|
if((fscanf(f,"%lu %*d",&uptime)) != 1){ |
142 |
|
#endif |
143 |
|
|
144 |
|
if((proc_dir=opendir(PROC_LOCATION))==NULL){ |
145 |
< |
sg_set_error(SG_ERROR_OPENDIR, PROC_LOCATION); |
145 |
> |
sg_set_error_with_errno(SG_ERROR_OPENDIR, PROC_LOCATION); |
146 |
|
return NULL; |
147 |
|
} |
148 |
|
|
307 |
|
mib[2] = KERN_PROC_ALL; |
308 |
|
|
309 |
|
if(sysctl(mib, 3, NULL, &size, NULL, 0) < 0) { |
310 |
< |
sg_set_error(SG_ERROR_SYSCTL, "CTL_KERN.KERN_PROC.KERN_PROC_ALL"); |
310 |
> |
sg_set_error_with_errno(SG_ERROR_SYSCTL, |
311 |
> |
"CTL_KERN.KERN_PROC.KERN_PROC_ALL"); |
312 |
|
return NULL; |
313 |
|
} |
314 |
|
|
321 |
|
memset(kp_stats, 0, size); |
322 |
|
|
323 |
|
if(sysctl(mib, 3, kp_stats, &size, NULL, 0) < 0) { |
324 |
< |
sg_set_error(SG_ERROR_SYSCTL, "CTL_KERN.KERN_PROC.KERN_PROC_ALL"); |
324 |
> |
sg_set_error_with_errno(SG_ERROR_SYSCTL, |
325 |
> |
"CTL_KERN.KERN_PROC.KERN_PROC_ALL"); |
326 |
|
free(kp_stats); |
327 |
|
return NULL; |
328 |
|
} |
548 |
|
mib[4] = 0; |
549 |
|
|
550 |
|
if(sysctl(mib, 5, NULL, &size, NULL, 0) < 0) { |
551 |
< |
sg_set_error(SG_ERROR_SYSCTL, "CTL_KERN.KERN_LWP.pid.structsize.0"); |
551 |
> |
sg_set_error_with_errno(SG_ERROR_SYSCTL, "CTL_KERN.KERN_LWP.pid.structsize.0"); |
552 |
|
return NULL; |
553 |
|
} |
554 |
|
|
561 |
|
} |
562 |
|
|
563 |
|
if(sysctl(mib, 5, kl_stats, &size, NULL, 0) < 0) { |
564 |
< |
sg_set_error(SG_ERROR_SYSCTL, "CTL_KERN.KERN_LWP.pid.structsize.buffersize"); |
564 |
> |
sg_set_error_with_errno(SG_ERROR_SYSCTL, "CTL_KERN.KERN_LWP.pid.structsize.buffersize"); |
565 |
|
return NULL; |
566 |
|
} |
567 |
|
} |