[BACK]Return to opt.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / sndiod

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) */