MCPcopy Create free account
hub / github.com/F-Stack/f-stack / logioctl

Function logioctl

freebsd/kern/subr_log.c:256–298  ·  view source on GitHub ↗

ARGSUSED*/

Source from the content-addressed store, hash-verified

254
255/*ARGSUSED*/
256static int
257logioctl(struct cdev *dev, u_long com, caddr_t data, int flag, struct thread *td)
258{
259
260 switch (com) {
261 /* return number of characters immediately available */
262 case FIONREAD:
263 *(int *)data = msgbuf_getcount(msgbufp);
264 break;
265
266 case FIONBIO:
267 break;
268
269 case FIOASYNC:
270 mtx_lock(&msgbuf_lock);
271 if (*(int *)data)
272 logsoftc.sc_state |= LOG_ASYNC;
273 else
274 logsoftc.sc_state &= ~LOG_ASYNC;
275 mtx_unlock(&msgbuf_lock);
276 break;
277
278 case FIOSETOWN:
279 return (fsetown(*(int *)data, &logsoftc.sc_sigio));
280
281 case FIOGETOWN:
282 *(int *)data = fgetown(&logsoftc.sc_sigio);
283 break;
284
285 /* This is deprecated, FIOSETOWN should be used instead. */
286 case TIOCSPGRP:
287 return (fsetown(-(*(int *)data), &logsoftc.sc_sigio));
288
289 /* This is deprecated, FIOGETOWN should be used instead */
290 case TIOCGPGRP:
291 *(int *)data = -fgetown(&logsoftc.sc_sigio);
292 break;
293
294 default:
295 return (ENOTTY);
296 }
297 return (0);
298}
299
300static void
301log_drvinit(void *unused)

Callers

nothing calls this directly

Calls 5

msgbuf_getcountFunction · 0.85
fsetownFunction · 0.85
fgetownFunction · 0.85
mtx_lockFunction · 0.70
mtx_unlockFunction · 0.70

Tested by

no test coverage detected