version 1.5, 1999/07/19 20:54:21 |
version 1.6, 2002/01/09 18:12:24 |
|
|
char * |
char * |
catstr(p, q) |
catstr(p, q) |
char *p; |
char *p; |
char *q; |
char *q; |
{ |
{ |
char *r = malloc(strlen(p) + strlen(q) + 2); |
char *r = malloc(strlen(p) + strlen(q) + 2); |
strcpy(r, p); |
strcpy(r, p); |
|
|
void |
void |
prfield(p, sep, prvalset) |
prfield(p, sep, prvalset) |
struct field *p; |
struct field *p; |
char *sep; |
char *sep; |
int prvalset; |
int prvalset; |
{ |
{ |
mixer_ctrl_t *m; |
mixer_ctrl_t *m; |
int i, n; |
int i, n; |
|
|
if (m->un.value.num_channels == 1) |
if (m->un.value.num_channels == 1) |
fprintf(out, "%d", m->un.value.level[0]); |
fprintf(out, "%d", m->un.value.level[0]); |
else |
else |
fprintf(out, "%d,%d", m->un.value.level[0], |
fprintf(out, "%d,%d", m->un.value.level[0], |
m->un.value.level[1]); |
m->un.value.level[1]); |
if (prvalset) |
if (prvalset) |
fprintf(out, " %s", p->infp->un.v.units.name); |
fprintf(out, " %s", p->infp->un.v.units.name); |
|
|
int |
int |
rdfield(p, q) |
rdfield(p, q) |
struct field *p; |
struct field *p; |
char *q; |
char *q; |
{ |
{ |
mixer_ctrl_t *m; |
mixer_ctrl_t *m; |
int v, v0, v1, mask; |
int v, v0, v1, mask; |
|
|
int |
int |
main(argc, argv) |
main(argc, argv) |
int argc; |
int argc; |
char **argv; |
char **argv; |
{ |
{ |
int fd, i, j, ch, pos; |
int fd, i, j, ch, pos; |
int aflag = 0, wflag = 0, vflag = 0; |
int aflag = 0, wflag = 0, vflag = 0; |
|
|
} |
} |
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
|
|
fd = open(file, O_RDWR); |
fd = open(file, wflag? O_RDWR : O_RDONLY); |
if (fd < 0) |
if (fd < 0) |
err(1, "%s", file); |
err(1, "%s", file); |
|
|
|
|
for(pos = infos[i].next; pos != AUDIO_MIXER_LAST; |
for(pos = infos[i].next; pos != AUDIO_MIXER_LAST; |
pos = infos[pos].next) { |
pos = infos[pos].next) { |
fields[j] = rfields[pos]; |
fields[j] = rfields[pos]; |
fields[j].name = catstr(rfields[i].name, |
fields[j].name = catstr(rfields[i].name, |
infos[pos].label.name); |
infos[pos].label.name); |
infos[pos].type = -1; |
infos[pos].type = -1; |
j++; |
j++; |
|
|
for(i = 0; i < j; i++) { |
for(i = 0; i < j; i++) { |
int cls = fields[i].infp->mixer_class; |
int cls = fields[i].infp->mixer_class; |
if (cls >= 0 && cls < ndev) |
if (cls >= 0 && cls < ndev) |
fields[i].name = catstr(infos[cls].label.name, |
fields[i].name = catstr(infos[cls].label.name, |
fields[i].name); |
fields[i].name); |
} |
} |
|
|