version 1.38, 2020/01/30 05:17:07 |
version 1.39, 2020/02/01 18:06:19 |
|
|
" audioctl [-n] [-f file] name ...\n" |
" audioctl [-n] [-f file] name ...\n" |
" audioctl [-nq] [-f file] name=value ...\n"; |
" audioctl [-nq] [-f file] name=value ...\n"; |
|
|
|
int fd, print_names = 1, quiet = 0; |
|
|
/* |
/* |
* parse encoding string (examples: s8, u8, s16, s16le, s24be ...) |
* parse encoding string (examples: s8, u8, s16, s16le, s24be ...) |
* and fill enconding fields of audio_swpar structure |
* and fill enconding fields of audio_swpar structure |
|
|
} |
} |
} |
} |
|
|
int |
void |
main(int argc, char **argv) |
audio_main(int argc, char **argv) |
{ |
{ |
struct field *f; |
struct field *f; |
char *lhs, *rhs, *path = "/dev/audioctl0"; |
char *lhs, *rhs; |
int fd, c, set = 0, print_names = 1, quiet = 0; |
int set = 0; |
|
|
while ((c = getopt(argc, argv, "anf:q")) != -1) { |
|
switch (c) { |
|
case 'a': /* ignored, compat */ |
|
break; |
|
case 'n': |
|
print_names = 0; |
|
break; |
|
case 'f': |
|
path = optarg; |
|
break; |
|
case 'q': |
|
quiet = 1; |
|
break; |
|
default: |
|
fputs(usagestr, stderr); |
|
return 1; |
|
} |
|
} |
|
argc -= optind; |
|
argv += optind; |
|
|
|
if (unveil(path, "w") == -1) |
|
err(1, "unveil"); |
|
if (unveil(NULL, NULL) == -1) |
|
err(1, "unveil"); |
|
|
|
fd = open(path, O_WRONLY); |
|
if (fd == -1) |
|
err(1, "%s", path); |
|
if (ioctl(fd, AUDIO_GETSTATUS, &rstatus) == -1) |
if (ioctl(fd, AUDIO_GETSTATUS, &rstatus) == -1) |
err(1, "AUDIO_GETSTATUS"); |
err(1, "AUDIO_GETSTATUS"); |
if (ioctl(fd, AUDIO_GETDEV, &rname) == -1) |
if (ioctl(fd, AUDIO_GETDEV, &rname) == -1) |
|
|
printf("\n"); |
printf("\n"); |
} |
} |
} |
} |
if (!set) { |
if (!set) |
close(fd); |
return; |
return 0; |
|
} |
|
if (ioctl(fd, AUDIO_SETPAR, &wpar) == -1) |
if (ioctl(fd, AUDIO_SETPAR, &wpar) == -1) |
err(1, "AUDIO_SETPAR"); |
err(1, "AUDIO_SETPAR"); |
if (ioctl(fd, AUDIO_GETPAR, &wpar) == -1) |
if (ioctl(fd, AUDIO_GETPAR, &wpar) == -1) |
|
|
print_val(f, f->waddr); |
print_val(f, f->waddr); |
printf("\n"); |
printf("\n"); |
} |
} |
|
} |
|
|
|
int |
|
main(int argc, char **argv) |
|
{ |
|
extern char *__progname; |
|
char *path = "/dev/audioctl0"; |
|
int c, mixer = 0; |
|
|
|
if (strcmp(__progname, "mixerctl") == 0) |
|
mixer = 1; |
|
|
|
while ((c = getopt(argc, argv, "anf:q")) != -1) { |
|
switch (c) { |
|
case 'a': /* ignored, compat */ |
|
break; |
|
case 'n': |
|
print_names = 0; |
|
break; |
|
case 'f': |
|
path = optarg; |
|
break; |
|
case 'q': |
|
quiet = 1; |
|
break; |
|
default: |
|
fputs(usagestr, stderr); |
|
return 1; |
|
} |
|
} |
|
argc -= optind; |
|
argv += optind; |
|
|
|
if (unveil(path, "w") == -1) |
|
err(1, "unveil"); |
|
if (unveil(NULL, NULL) == -1) |
|
err(1, "unveil"); |
|
|
|
fd = open(path, O_WRONLY); |
|
if (fd == -1) |
|
err(1, "%s", path); |
|
|
|
audio_main(argc, argv); |
|
|
close(fd); |
close(fd); |
return 0; |
return 0; |
} |
} |