diff options
author | 諏訪子 <suwako@076.moe> | 2024-06-18 14:06:43 +0900 |
---|---|---|
committer | 諏訪子 <suwako@076.moe> | 2024-06-18 14:06:43 +0900 |
commit | 794dffcfe2204a6b7d92072e7af54e6e058dcbe9 (patch) | |
tree | ca289c31b554dbfa1ca211d50d877d3ec8a63475 /src/recording.c | |
parent | e74aee761ae2470b2c205fefa70b2a46a4be1b0d (diff) |
マイクとカメラ(OpenBSDのみ)
Diffstat (limited to 'src/recording.c')
-rw-r--r-- | src/recording.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/recording.c b/src/recording.c new file mode 100644 index 0000000..8ed3d98 --- /dev/null +++ b/src/recording.c @@ -0,0 +1,32 @@ +#if defined(__OpenBSD__) +#include "recording.h" + +#include <stdio.h> +#include <string.h> +#include <unistd.h> + +void run_rec_command(const char *command) { + char buf[128]; + + FILE *p = popen(command, "r"); + if (!p) { + fprintf(stderr, "録画コマンドを実効に失敗: %s", command); + return; + } + + while (fgets(buf, sizeof(buf), p) != NULL) { + buf[strcspn(buf, "\n")] = '\0'; + printf("%s", strncmp(buf, "0", strlen(buf)) ? "off" : "on"); + } + + pclose(p); +} + +void display_recording_audio() { + run_rec_command("sysctl -n kern.audio.record"); +} + +void display_recording_video() { + run_rec_command("sysctl -n kern.video.record"); +} +#endif |