Annotation of src/usr.bin/sndiod/opt.h, Revision 1.7
1.7 ! ratchov 1: /* $OpenBSD: opt.h,v 1.6 2021/03/03 10:19:06 ratchov Exp $ */
1.1 ratchov 2: /*
3: * Copyright (c) 2008-2012 Alexandre Ratchov <alex@caoua.org>
4: *
5: * Permission to use, copy, modify, and distribute this software for any
6: * purpose with or without fee is hereby granted, provided that the above
7: * copyright notice and this permission notice appear in all copies.
8: *
9: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16: */
17: #ifndef OPT_H
18: #define OPT_H
19:
1.4 ratchov 20: #define OPT_NMAX 16
21:
1.1 ratchov 22: struct dev;
23:
1.3 ratchov 24: struct opt {
25: struct opt *next;
1.7 ! ratchov 26: struct dev *dev, *alt_first;
1.5 ratchov 27: struct midi *midi;
1.6 ratchov 28: struct mtc *mtc; /* if set, MMC-controlled MTC source */
29:
1.4 ratchov 30: int num;
1.3 ratchov 31: #define OPT_NAMEMAX 11
32: char name[OPT_NAMEMAX + 1];
33: int maxweight; /* max dynamic range for clients */
34: int pmin, pmax; /* play channels */
35: int rmin, rmax; /* recording channels */
36: int dup; /* true if join/expand enabled */
37: int mode; /* bitmap of MODE_XXX */
1.7 ! ratchov 38: int refcnt;
1.3 ratchov 39: };
40:
41: extern struct opt *opt_list;
42:
1.2 ratchov 43: struct opt *opt_new(struct dev *, char *, int, int, int, int,
1.1 ratchov 44: int, int, int, unsigned int);
1.3 ratchov 45: void opt_del(struct opt *);
1.7 ! ratchov 46: struct opt *opt_byname(char *);
! 47: struct opt *opt_bynum(int);
! 48: void opt_init(struct opt *);
! 49: void opt_done(struct opt *);
! 50: void opt_setdev(struct opt *, struct dev *);
! 51: struct dev *opt_ref(struct opt *);
! 52: void opt_unref(struct opt *);
1.1 ratchov 53:
54: #endif /* !defined(OPT_H) */