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