List available sysclocks. */
| 170 | |
| 171 | /* List available sysclocks. */ |
| 172 | static int |
| 173 | sysctl_kern_sysclock_available(SYSCTL_HANDLER_ARGS) |
| 174 | { |
| 175 | struct sbuf *s; |
| 176 | int clk, error; |
| 177 | |
| 178 | s = sbuf_new_for_sysctl(NULL, NULL, |
| 179 | MAX_SYSCLOCK_NAME_LEN * NUM_SYSCLOCKS, req); |
| 180 | if (s == NULL) |
| 181 | return (ENOMEM); |
| 182 | |
| 183 | for (clk = 0; clk < NUM_SYSCLOCKS; clk++) { |
| 184 | sbuf_cat(s, sysclocks[clk]); |
| 185 | if (clk + 1 < NUM_SYSCLOCKS) |
| 186 | sbuf_cat(s, " "); |
| 187 | } |
| 188 | error = sbuf_finish(s); |
| 189 | sbuf_delete(s); |
| 190 | |
| 191 | return (error); |
| 192 | } |
| 193 | |
| 194 | SYSCTL_PROC(_kern_sysclock, OID_AUTO, available, |
| 195 | CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, 0, 0, |
nothing calls this directly
no test coverage detected