25 #include <arpa/inet.h>     29 #include <sys/resource.h>     33 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_LIB    38         return strtoull(str, endptr, 
base);
    44         return strtoul(str, endptr, 
base);
    53         struct in_addr ipaddr;
    55         if (inet_aton(
name, &ipaddr) == 0) {
    61                 rc = gethostbyname_r(
name, &he, he_buf, 
sizeof he_buf,
    65                 for (
i = 0; hp->h_addr_list[
i] != 
NULL; ++
i)
    67                         if (hp->h_addrtype == AF_INET &&
    68                             hp->h_length == 
sizeof(ipaddr))
    70                 if (hp->h_addr_list[
i] == 
NULL)
    71                         return M0_ERR(-EPFNOSUPPORT);
    72                 if (inet_ntop(hp->h_addrtype, hp->h_addr, 
buf, bufsiz) == 
NULL)
    74         } 
else if (strlen(
name) >= bufsiz) {
    89         char               proc_io_buf[0x1000];
    90         unsigned long long rchar;
    91         unsigned long long wchar;
    92         unsigned long long syscr;
    93         unsigned long long syscw;
    94         unsigned long long read_bytes;
    95         unsigned long long write_bytes;
    96         unsigned long long cancelled_write_bytes;
    98         rc = getrusage(RUSAGE_SELF, &
usage);
   100                 len = snprintf(
buf, buf_len, 
"utime %ld.%06ld stime %ld.%06ld "   101                                "maxrss %ld nvcsw %ld nivcsw %ld\n"   102                                "minflt %ld majflt %ld "   103                                "inblock %ld oublock %ld\n",
   104                                usage.ru_utime.tv_sec, 
usage.ru_utime.tv_usec,
   105                                usage.ru_stime.tv_sec, 
usage.ru_stime.tv_usec,
   109                 if (len >= buf_len || len < 0)
   116         proc_self_io = fopen(
"/proc/self/io", 
"r");
   117         if (proc_self_io != 
NULL) {
   118                 nr = fscanf(proc_self_io, 
"%s %llu %s %llu %s %llu %s %llu "   119                             "%s %llu %s %llu %s %llu",
   120                             proc_io_buf, &rchar, proc_io_buf, &wchar,
   121                             proc_io_buf, &syscr, proc_io_buf, &syscw,
   122                             proc_io_buf, &read_bytes, proc_io_buf,
   123                             &write_bytes, proc_io_buf, &cancelled_write_bytes);
   124                 fclose(proc_self_io);
   126                         snprintf(
buf, buf_len, 
"rchar %llu wchar %llu "   127                                  "syscr %llu syscw %llu\n"   128                                  "read_bytes %llu write_bytes %llu "   129                                  "cancelled_write_bytes %llu\n",
   130                                  rchar, wchar, syscr, syscw,
   131                                  read_bytes, write_bytes,
   132                                  cancelled_write_bytes);
   137 #undef M0_TRACE_SUBSYSTEM 
uint32_t m0_strtou32(const char *str, char **endptr, int base)
uint64_t m0_strtou64(const char *str, char **endptr, int base)
return M0_ERR(-EOPNOTSUPP)
M0_INTERNAL void m0_performance_counters(char *buf, size_t buf_len)
M0_INTERNAL int m0_host_resolve(const char *name, char *buf, size_t bufsiz)