97{
98#if defined(HAVE_SYSINFO)
99 struct sysinfo sys_info;
100 if (sysinfo(&sys_info)) {
102 return -1;
103 }
104#endif
107 return -1;
108 } else if (!strcasecmp("loadavg", data)) {
109 double curloadavg;
111 snprintf(
buf,
len,
"%f", curloadavg);
112 } else if (!strcasecmp("numcalls", data)) {
114 }
115#if defined(HAVE_SYSINFO)
116 else if (!strcasecmp("uptime", data)) {
117 snprintf(
buf,
len,
"%ld", sys_info.uptime/3600);
118 } else if (!strcasecmp("totalram", data)) {
119 snprintf(
buf,
len,
"%lu",(sys_info.totalram * sys_info.mem_unit)/1024);
120 } else if (!strcasecmp("freeram", data)) {
121 snprintf(
buf,
len,
"%lu",(sys_info.freeram * sys_info.mem_unit)/1024);
122 } else if (!strcasecmp("bufferram", data)) {
123 snprintf(
buf,
len,
"%lu",(sys_info.bufferram * sys_info.mem_unit)/1024);
124 } else if (!strcasecmp("totalswap", data)) {
125 snprintf(
buf,
len,
"%lu",(sys_info.totalswap * sys_info.mem_unit)/1024);
126 } else if (!strcasecmp("freeswap", data)) {
127 snprintf(
buf,
len,
"%lu",(sys_info.freeswap * sys_info.mem_unit)/1024);
128 } else if (!strcasecmp("numprocs", data)) {
129 snprintf(
buf,
len,
"%d", sys_info.procs);
130 }
131#endif
132 else {
134 return -1;
135 }
136
137 return 0;
138}
int getloadavg(double *list, int nelem)
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
int ast_active_calls(void)
Retrieve the number of active calls.
static force_inline int attribute_pure ast_strlen_zero(const char *s)