aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-13 23:25:14 +0900
committerOphestra <cat@gensokyo.uk>2026-10-13 23:33:49 +0900
commit612533ee40aaeb97247db551ecbfc5026eb3ca41 (patch)
tree13ae364771f9bcf0def2b7401924d5b7c82af790 /internal
parentfadb42ec8daeeb8a576582d274cd4aeb64e535c0 (diff)
all: use Linux kernel coding style
The Gitea web interface is no longer publicly accessible, so it no longer matters that this code style does not render well on Gitea. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
-rw-r--r--internal/acl/libacl-helper.c200
-rw-r--r--internal/acl/libacl-helper.h35
-rw-r--r--internal/outcome/shim-signal.c81
-rw-r--r--internal/outcome/shim-signal.h8
-rw-r--r--internal/wayland/wayland-client-helper.c185
-rw-r--r--internal/wayland/wayland-client-helper.h64
6 files changed, 290 insertions, 283 deletions
diff --git a/internal/acl/libacl-helper.c b/internal/acl/libacl-helper.c
index 5fa35c18..c56e6436 100644
--- a/internal/acl/libacl-helper.c
+++ b/internal/acl/libacl-helper.c
@@ -7,129 +7,127 @@
#include <fcntl.h>
#include <sys/acl.h>
-enum hakurei_acl_status hakurei_update_acl(
- int fd,
- uid_t uid,
- acl_perm_t perms) {
- enum hakurei_acl_status ret;
+enum hakurei_acl_status hakurei_update_acl(int fd, uid_t uid, acl_perm_t perms)
+{
+ enum hakurei_acl_status ret;
- bool v;
- int i;
- acl_t acl, acl_d = NULL;
- acl_entry_t entry;
- acl_tag_t tag_type;
- void *qualifier_p;
- acl_permset_t permset;
- acl_perm_t has_perms;
+ bool v;
+ int i;
+ acl_t acl, acl_d = NULL;
+ acl_entry_t entry;
+ acl_tag_t tag_type;
+ void *qualifier_p;
+ acl_permset_t permset;
+ acl_perm_t has_perms;
- ret = HAKUREI_ACL_GET_FILE;
- acl = acl_get_file_at(fd, "", AT_EMPTY_PATH, ACL_TYPE_ACCESS);
- if (acl == NULL)
- goto out;
+ ret = HAKUREI_ACL_GET_FILE;
+ acl = acl_get_file_at(fd, "", AT_EMPTY_PATH, ACL_TYPE_ACCESS);
+ if (acl == NULL)
+ goto out;
- /* prune entries by uid */
- for (i = acl_get_entry(acl, ACL_FIRST_ENTRY, &entry); i == 1;
- i = acl_get_entry(acl, ACL_NEXT_ENTRY, &entry)) {
- ret = HAKUREI_ACL_GET_TAG_TYPE;
- if (acl_get_tag_type(entry, &tag_type) != 0)
- goto out;
- if (tag_type != ACL_USER)
- continue;
+ /* prune entries by uid */
+ for (i = acl_get_entry(acl, ACL_FIRST_ENTRY, &entry); i == 1;
+ i = acl_get_entry(acl, ACL_NEXT_ENTRY, &entry)) {
+ ret = HAKUREI_ACL_GET_TAG_TYPE;
+ if (acl_get_tag_type(entry, &tag_type) != 0)
+ goto out;
+ if (tag_type != ACL_USER)
+ continue;
- ret = HAKUREI_ACL_GET_QUALIFIER;
- qualifier_p = acl_get_qualifier(entry);
- if (qualifier_p == NULL)
- goto out;
- v = *(uid_t *)qualifier_p == uid;
- acl_free(qualifier_p);
+ ret = HAKUREI_ACL_GET_QUALIFIER;
+ qualifier_p = acl_get_qualifier(entry);
+ if (qualifier_p == NULL)
+ goto out;
+ v = *(uid_t *)qualifier_p == uid;
+ acl_free(qualifier_p);
- if (!v)
- continue;
+ if (!v)
+ continue;
- ret = HAKUREI_ACL_GET_PERMSET;
- if (acl_get_permset(entry, &permset) != 0)
- goto out;
+ ret = HAKUREI_ACL_GET_PERMSET;
+ if (acl_get_permset(entry, &permset) != 0)
+ goto out;
- if (perms == 0)
- goto delete;
+ if (perms == 0)
+ goto delete;
- /* this is quite ugly, but the standard makes it impossible to directly
- * obtain these bits */
- has_perms = 0;
-#define COPY_PERM_BIT(perm) \
- do { \
- ret = HAKUREI_ACL_GET_PERM; \
- i = acl_get_perm(permset, perm); \
- if (i < 0) \
- goto out; \
- if (i > 0) \
- has_perms |= perm; \
- } while (0)
- COPY_PERM_BIT(ACL_READ);
- COPY_PERM_BIT(ACL_WRITE);
- COPY_PERM_BIT(ACL_EXECUTE);
+ /* this is quite ugly, but the standard makes it impossible to
+ * directly obtain these bits */
+ has_perms = 0;
+#define COPY_PERM_BIT(perm) \
+ do { \
+ ret = HAKUREI_ACL_GET_PERM; \
+ i = acl_get_perm(permset, perm); \
+ if (i < 0) \
+ goto out; \
+ if (i > 0) \
+ has_perms |= perm; \
+ } while (0)
+ COPY_PERM_BIT(ACL_READ);
+ COPY_PERM_BIT(ACL_WRITE);
+ COPY_PERM_BIT(ACL_EXECUTE);
- if (perms == has_perms) {
- ret = HAKUREI_ACL_DUP;
- acl_d = acl_dup(acl);
- if (acl_d == NULL)
- goto out;
+ if (perms == has_perms) {
+ ret = HAKUREI_ACL_DUP;
+ acl_d = acl_dup(acl);
+ if (acl_d == NULL)
+ goto out;
- ret = HAKUREI_ACL_CALC_MASK;
- if (acl_calc_mask(&acl_d) != 0)
- goto out;
+ ret = HAKUREI_ACL_CALC_MASK;
+ if (acl_calc_mask(&acl_d) != 0)
+ goto out;
- ret = HAKUREI_ACL_OK;
- if (acl_cmp(acl, acl_d) == 0)
- goto out;
- }
+ ret = HAKUREI_ACL_OK;
+ if (acl_cmp(acl, acl_d) == 0)
+ goto out;
+ }
- delete:
- ret = HAKUREI_ACL_DELETE_ENTRY;
- if (acl_delete_entry(acl, entry) != 0)
- goto out;
- }
+delete:
+ ret = HAKUREI_ACL_DELETE_ENTRY;
+ if (acl_delete_entry(acl, entry) != 0)
+ goto out;
+ }
- if (perms == 0)
- goto set;
+ if (perms == 0)
+ goto set;
- ret = HAKUREI_ACL_CREATE_ENTRY;
- if (acl_create_entry(&acl, &entry) != 0)
- goto out;
+ ret = HAKUREI_ACL_CREATE_ENTRY;
+ if (acl_create_entry(&acl, &entry) != 0)
+ goto out;
- ret = HAKUREI_ACL_GET_PERMSET;
- if (acl_get_permset(entry, &permset) != 0)
- goto out;
+ ret = HAKUREI_ACL_GET_PERMSET;
+ if (acl_get_permset(entry, &permset) != 0)
+ goto out;
- ret = HAKUREI_ACL_ADD_PERM;
- if (acl_add_perm(permset, perms) != 0)
- goto out;
+ ret = HAKUREI_ACL_ADD_PERM;
+ if (acl_add_perm(permset, perms) != 0)
+ goto out;
- ret = HAKUREI_ACL_SET_TAG_TYPE;
- if (acl_set_tag_type(entry, ACL_USER) != 0)
- goto out;
+ ret = HAKUREI_ACL_SET_TAG_TYPE;
+ if (acl_set_tag_type(entry, ACL_USER) != 0)
+ goto out;
- ret = HAKUREI_ACL_SET_QUALIFIER;
- if (acl_set_qualifier(entry, (void *)&uid) != 0)
- goto out;
+ ret = HAKUREI_ACL_SET_QUALIFIER;
+ if (acl_set_qualifier(entry, (void *)&uid) != 0)
+ goto out;
set:
- ret = HAKUREI_ACL_CALC_MASK;
- if (acl_calc_mask(&acl) != 0)
- goto out;
+ ret = HAKUREI_ACL_CALC_MASK;
+ if (acl_calc_mask(&acl) != 0)
+ goto out;
- ret = HAKUREI_ACL_VALID;
- if (acl_valid(acl) != 0)
- goto out;
+ ret = HAKUREI_ACL_VALID;
+ if (acl_valid(acl) != 0)
+ goto out;
- ret = HAKUREI_ACL_SET_FILE;
- if (acl_set_file_at(fd, "", AT_EMPTY_PATH, ACL_TYPE_ACCESS, acl) == 0)
- ret = HAKUREI_ACL_OK;
+ ret = HAKUREI_ACL_SET_FILE;
+ if (acl_set_file_at(fd, "", AT_EMPTY_PATH, ACL_TYPE_ACCESS, acl) == 0)
+ ret = HAKUREI_ACL_OK;
out:
- if (acl != NULL)
- acl_free((void *)acl);
- if (acl_d != NULL)
- acl_free((void *)acl_d);
- return ret;
+ if (acl != NULL)
+ acl_free((void *)acl);
+ if (acl_d != NULL)
+ acl_free((void *)acl_d);
+ return ret;
}
diff --git a/internal/acl/libacl-helper.h b/internal/acl/libacl-helper.h
index 10711dd3..111fac4a 100644
--- a/internal/acl/libacl-helper.h
+++ b/internal/acl/libacl-helper.h
@@ -1,24 +1,21 @@
#include <sys/acl.h>
enum hakurei_acl_status {
- HAKUREI_ACL_OK,
- HAKUREI_ACL_GET_FILE,
- HAKUREI_ACL_GET_TAG_TYPE,
- HAKUREI_ACL_GET_QUALIFIER,
- HAKUREI_ACL_DELETE_ENTRY,
- HAKUREI_ACL_CREATE_ENTRY,
- HAKUREI_ACL_GET_PERMSET,
- HAKUREI_ACL_ADD_PERM,
- HAKUREI_ACL_SET_TAG_TYPE,
- HAKUREI_ACL_SET_QUALIFIER,
- HAKUREI_ACL_CALC_MASK,
- HAKUREI_ACL_VALID,
- HAKUREI_ACL_SET_FILE,
- HAKUREI_ACL_GET_PERM,
- HAKUREI_ACL_DUP,
+ HAKUREI_ACL_OK,
+ HAKUREI_ACL_GET_FILE,
+ HAKUREI_ACL_GET_TAG_TYPE,
+ HAKUREI_ACL_GET_QUALIFIER,
+ HAKUREI_ACL_DELETE_ENTRY,
+ HAKUREI_ACL_CREATE_ENTRY,
+ HAKUREI_ACL_GET_PERMSET,
+ HAKUREI_ACL_ADD_PERM,
+ HAKUREI_ACL_SET_TAG_TYPE,
+ HAKUREI_ACL_SET_QUALIFIER,
+ HAKUREI_ACL_CALC_MASK,
+ HAKUREI_ACL_VALID,
+ HAKUREI_ACL_SET_FILE,
+ HAKUREI_ACL_GET_PERM,
+ HAKUREI_ACL_DUP,
};
-enum hakurei_acl_status hakurei_update_acl(
- int fd,
- uid_t uid,
- acl_perm_t perms);
+enum hakurei_acl_status hakurei_update_acl(int fd, uid_t uid, acl_perm_t perms);
diff --git a/internal/outcome/shim-signal.c b/internal/outcome/shim-signal.c
index f02c0df1..6543d4b8 100644
--- a/internal/outcome/shim-signal.c
+++ b/internal/outcome/shim-signal.c
@@ -9,54 +9,57 @@ static pid_t hakurei_shim_param_ppid = -1;
static int hakurei_shim_fd = -1;
/* see shim.go for handling of the message */
-static inline ssize_t hakurei_shim_write(hakurei_shim_msg msg) {
- int savedErrno = errno;
- unsigned char buf = (unsigned char)msg;
- ssize_t ret = write(hakurei_shim_fd, &buf, 1);
- if (ret == -1 && errno != EAGAIN)
- exit(EXIT_FAILURE);
- errno = savedErrno;
- return ret;
+static inline ssize_t hakurei_shim_write(hakurei_shim_msg msg)
+{
+ int savedErrno = errno;
+ unsigned char buf = (unsigned char)msg;
+ ssize_t ret = write(hakurei_shim_fd, &buf, 1);
+ if (ret == -1 && errno != EAGAIN)
+ exit(EXIT_FAILURE);
+ errno = savedErrno;
+ return ret;
}
-static void hakurei_shim_sigaction(int sig, siginfo_t *si, void *ucontext) {
- if (sig != SIGCONT || si == NULL) {
- hakurei_shim_write(HAKUREI_SHIM_INVALID);
- return;
- }
+static void hakurei_shim_sigaction(int sig, siginfo_t *si, void *ucontext)
+{
+ if (sig != SIGCONT || si == NULL) {
+ hakurei_shim_write(HAKUREI_SHIM_INVALID);
+ return;
+ }
- if (si->si_pid == hakurei_shim_param_ppid) {
- hakurei_shim_write(HAKUREI_SHIM_EXIT_REQUESTED);
- return;
- }
+ if (si->si_pid == hakurei_shim_param_ppid) {
+ hakurei_shim_write(HAKUREI_SHIM_EXIT_REQUESTED);
+ return;
+ }
- hakurei_shim_write(HAKUREI_SHIM_BAD_PID);
+ hakurei_shim_write(HAKUREI_SHIM_BAD_PID);
- if (getppid() != hakurei_shim_param_ppid)
- hakurei_shim_write(HAKUREI_SHIM_ORPHAN);
+ if (getppid() != hakurei_shim_param_ppid)
+ hakurei_shim_write(HAKUREI_SHIM_ORPHAN);
}
-void hakurei_shim_setup_cont_signal(pid_t ppid, int fd) {
- if (hakurei_shim_param_ppid != -1 || hakurei_shim_fd != -1)
- *(volatile int *)NULL = 0; /* unreachable */
+void hakurei_shim_setup_cont_signal(pid_t ppid, int fd)
+{
+ if (hakurei_shim_param_ppid != -1 || hakurei_shim_fd != -1)
+ *(volatile int *)NULL = 0; /* unreachable */
- struct sigaction new_action = {0}, old_action = {0};
- if (sigaction(SIGCONT, NULL, &old_action) != 0)
- return;
- if (old_action.sa_handler != SIG_DFL) {
- errno = ENOTRECOVERABLE;
- return;
- }
+ struct sigaction new_action = { 0 }, old_action = { 0 };
+ if (sigaction(SIGCONT, NULL, &old_action) != 0)
+ return;
+ if (old_action.sa_handler != SIG_DFL) {
+ errno = ENOTRECOVERABLE;
+ return;
+ }
- new_action.sa_sigaction = hakurei_shim_sigaction;
- if (sigemptyset(&new_action.sa_mask) != 0)
- return;
- new_action.sa_flags = SA_ONSTACK | SA_SIGINFO;
+ new_action.sa_sigaction = hakurei_shim_sigaction;
+ if (sigemptyset(&new_action.sa_mask) != 0)
+ return;
+ new_action.sa_flags = SA_ONSTACK | SA_SIGINFO;
- if (sigaction(SIGCONT, &new_action, NULL) != 0)
- return;
+ if (sigaction(SIGCONT, &new_action, NULL) != 0)
+ return;
- errno = 0;
- hakurei_shim_param_ppid = ppid;
- hakurei_shim_fd = fd;
+ errno = 0;
+ hakurei_shim_param_ppid = ppid;
+ hakurei_shim_fd = fd;
}
diff --git a/internal/outcome/shim-signal.h b/internal/outcome/shim-signal.h
index f396a915..db43b561 100644
--- a/internal/outcome/shim-signal.h
+++ b/internal/outcome/shim-signal.h
@@ -2,10 +2,10 @@
/* see shim.go for documentation */
typedef enum {
- HAKUREI_SHIM_EXIT_REQUESTED,
- HAKUREI_SHIM_ORPHAN,
- HAKUREI_SHIM_INVALID,
- HAKUREI_SHIM_BAD_PID,
+ HAKUREI_SHIM_EXIT_REQUESTED,
+ HAKUREI_SHIM_ORPHAN,
+ HAKUREI_SHIM_INVALID,
+ HAKUREI_SHIM_BAD_PID,
} hakurei_shim_msg;
void hakurei_shim_setup_cont_signal(pid_t ppid, int fd);
diff --git a/internal/wayland/wayland-client-helper.c b/internal/wayland/wayland-client-helper.c
index 25af847b..0af69403 100644
--- a/internal/wayland/wayland-client-helper.c
+++ b/internal/wayland/wayland-client-helper.c
@@ -8,110 +8,119 @@
#include "security-context-v1-protocol.h"
#include <wayland-client.h>
-static void registry_handle_global(
- void *data,
- struct wl_registry *registry,
- uint32_t name,
- const char *interface,
- uint32_t version) {
- struct wp_security_context_manager_v1 **out = data;
+static void registry_handle_global(void *data, struct wl_registry *registry,
+ uint32_t name, const char *interface,
+ uint32_t version)
+{
+ struct wp_security_context_manager_v1 **out = data;
- if (strcmp(interface, wp_security_context_manager_v1_interface.name) == 0)
- *out = wl_registry_bind(registry, name, &wp_security_context_manager_v1_interface, 1);
+ if (strcmp(interface, wp_security_context_manager_v1_interface.name) ==
+ 0)
+ *out = wl_registry_bind(
+ registry, name,
+ &wp_security_context_manager_v1_interface, 1);
}
-static void registry_handle_global_remove(
- void *data,
- struct wl_registry *registry,
- uint32_t name) {} /* no-op */
+static void registry_handle_global_remove(void *data,
+ struct wl_registry *registry,
+ uint32_t name)
+{
+} /* no-op */
static const struct wl_registry_listener registry_listener = {
- .global = registry_handle_global,
- .global_remove = registry_handle_global_remove,
+ .global = registry_handle_global,
+ .global_remove = registry_handle_global_remove,
};
-hakurei_wayland_res hakurei_security_context_bind(
- char *socket_path,
- int server_fd,
- const char *app_id,
- const char *instance_id,
- int close_fd) {
- hakurei_wayland_res res = HAKUREI_WAYLAND_SUCCESS; /* see wayland.go for handling */
+hakurei_wayland_res hakurei_security_context_bind(char *socket_path,
+ int server_fd,
+ const char *app_id,
+ const char *instance_id,
+ int close_fd)
+{
+ hakurei_wayland_res res =
+ HAKUREI_WAYLAND_SUCCESS; /* see wayland.go for handling */
- struct wl_display *display = NULL;
- struct wl_registry *registry;
- struct wp_security_context_manager_v1 *security_context_manager = NULL;
- int event_cnt;
- int listen_fd = -1;
- struct sockaddr_un sockaddr = {0};
- struct wp_security_context_v1 *security_context;
+ struct wl_display *display = NULL;
+ struct wl_registry *registry;
+ struct wp_security_context_manager_v1 *security_context_manager = NULL;
+ int event_cnt;
+ int listen_fd = -1;
+ struct sockaddr_un sockaddr = { 0 };
+ struct wp_security_context_v1 *security_context;
- display = wl_display_connect_to_fd(server_fd);
- if (display == NULL) {
- res = HAKUREI_WAYLAND_CONNECT;
- goto out;
- };
+ display = wl_display_connect_to_fd(server_fd);
+ if (display == NULL) {
+ res = HAKUREI_WAYLAND_CONNECT;
+ goto out;
+ };
- registry = wl_display_get_registry(display);
- if (wl_registry_add_listener(registry, &registry_listener, &security_context_manager) < 0) {
- res = HAKUREI_WAYLAND_LISTENER;
- goto out;
- }
- event_cnt = wl_display_roundtrip(display);
- wl_registry_destroy(registry);
- if (event_cnt < 0) {
- res = HAKUREI_WAYLAND_ROUNDTRIP;
- goto out;
- }
+ registry = wl_display_get_registry(display);
+ if (wl_registry_add_listener(registry, &registry_listener,
+ &security_context_manager) < 0) {
+ res = HAKUREI_WAYLAND_LISTENER;
+ goto out;
+ }
+ event_cnt = wl_display_roundtrip(display);
+ wl_registry_destroy(registry);
+ if (event_cnt < 0) {
+ res = HAKUREI_WAYLAND_ROUNDTRIP;
+ goto out;
+ }
- if (security_context_manager == NULL) {
- res = HAKUREI_WAYLAND_NOT_AVAIL;
- goto out;
- }
+ if (security_context_manager == NULL) {
+ res = HAKUREI_WAYLAND_NOT_AVAIL;
+ goto out;
+ }
- listen_fd = socket(AF_UNIX, SOCK_STREAM, 0);
- if (listen_fd < 0) {
- res = HAKUREI_WAYLAND_SOCKET;
- goto out;
- }
+ listen_fd = socket(AF_UNIX, SOCK_STREAM, 0);
+ if (listen_fd < 0) {
+ res = HAKUREI_WAYLAND_SOCKET;
+ goto out;
+ }
- sockaddr.sun_family = AF_UNIX;
- snprintf(sockaddr.sun_path, sizeof(sockaddr.sun_path), "%s", socket_path);
- if (bind(listen_fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr)) != 0) {
- res = HAKUREI_WAYLAND_BIND;
- goto out;
- }
+ sockaddr.sun_family = AF_UNIX;
+ snprintf(sockaddr.sun_path, sizeof(sockaddr.sun_path), "%s",
+ socket_path);
+ if (bind(listen_fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr)) !=
+ 0) {
+ res = HAKUREI_WAYLAND_BIND;
+ goto out;
+ }
- if (listen(listen_fd, 0) != 0) {
- res = HAKUREI_WAYLAND_LISTEN;
- goto out;
- }
+ if (listen(listen_fd, 0) != 0) {
+ res = HAKUREI_WAYLAND_LISTEN;
+ goto out;
+ }
- security_context = wp_security_context_manager_v1_create_listener(security_context_manager, listen_fd, close_fd);
- if (security_context == NULL) { /* not reached */
- res = HAKUREI_WAYLAND_NOT_AVAIL;
- goto out;
- }
- wp_security_context_v1_set_sandbox_engine(security_context, "app.hakurei");
- wp_security_context_v1_set_app_id(security_context, app_id);
- wp_security_context_v1_set_instance_id(security_context, instance_id);
- wp_security_context_v1_commit(security_context);
- wp_security_context_v1_destroy(security_context);
- if (wl_display_roundtrip(display) < 0) {
- res = HAKUREI_WAYLAND_ROUNDTRIP;
- goto out;
- }
+ security_context = wp_security_context_manager_v1_create_listener(
+ security_context_manager, listen_fd, close_fd);
+ if (security_context == NULL) { /* not reached */
+ res = HAKUREI_WAYLAND_NOT_AVAIL;
+ goto out;
+ }
+ wp_security_context_v1_set_sandbox_engine(security_context,
+ "app.hakurei");
+ wp_security_context_v1_set_app_id(security_context, app_id);
+ wp_security_context_v1_set_instance_id(security_context, instance_id);
+ wp_security_context_v1_commit(security_context);
+ wp_security_context_v1_destroy(security_context);
+ if (wl_display_roundtrip(display) < 0) {
+ res = HAKUREI_WAYLAND_ROUNDTRIP;
+ goto out;
+ }
out:
- if (listen_fd >= 0)
- close(listen_fd);
- if (security_context_manager != NULL)
- wp_security_context_manager_v1_destroy(security_context_manager);
- if (display != NULL)
- wl_display_disconnect(display);
+ if (listen_fd >= 0)
+ close(listen_fd);
+ if (security_context_manager != NULL)
+ wp_security_context_manager_v1_destroy(
+ security_context_manager);
+ if (display != NULL)
+ wl_display_disconnect(display);
- free((void *)socket_path);
- free((void *)app_id);
- free((void *)instance_id);
- return res;
+ free((void *)socket_path);
+ free((void *)app_id);
+ free((void *)instance_id);
+ return res;
}
diff --git a/internal/wayland/wayland-client-helper.h b/internal/wayland/wayland-client-helper.h
index ce67f6f6..09348be4 100644
--- a/internal/wayland/wayland-client-helper.h
+++ b/internal/wayland/wayland-client-helper.h
@@ -2,41 +2,41 @@
#include <sys/un.h>
typedef enum {
- HAKUREI_WAYLAND_SUCCESS,
- /* wl_display_connect_to_fd failed, errno */
- HAKUREI_WAYLAND_CONNECT,
- /* wl_registry_add_listener failed, errno */
- HAKUREI_WAYLAND_LISTENER,
- /* wl_display_roundtrip failed, errno */
- HAKUREI_WAYLAND_ROUNDTRIP,
- /* compositor does not implement wp_security_context_v1 */
- HAKUREI_WAYLAND_NOT_AVAIL,
- /* socket failed, errno */
- HAKUREI_WAYLAND_SOCKET,
- /* bind failed, errno */
- HAKUREI_WAYLAND_BIND,
- /* listen failed, errno */
- HAKUREI_WAYLAND_LISTEN,
+ HAKUREI_WAYLAND_SUCCESS,
+ /* wl_display_connect_to_fd failed, errno */
+ HAKUREI_WAYLAND_CONNECT,
+ /* wl_registry_add_listener failed, errno */
+ HAKUREI_WAYLAND_LISTENER,
+ /* wl_display_roundtrip failed, errno */
+ HAKUREI_WAYLAND_ROUNDTRIP,
+ /* compositor does not implement wp_security_context_v1 */
+ HAKUREI_WAYLAND_NOT_AVAIL,
+ /* socket failed, errno */
+ HAKUREI_WAYLAND_SOCKET,
+ /* bind failed, errno */
+ HAKUREI_WAYLAND_BIND,
+ /* listen failed, errno */
+ HAKUREI_WAYLAND_LISTEN,
- /* ensure pathname failed, implemented in conn.go */
- HAKUREI_WAYLAND_CREAT,
- /* socket for host server failed, implemented in conn.go */
- HAKUREI_WAYLAND_HOST_SOCKET,
- /* connect for host server failed, implemented in conn.go */
- HAKUREI_WAYLAND_HOST_CONNECT,
- /* cleanup failed, implemented in conn.go */
- HAKUREI_WAYLAND_CLEANUP,
+ /* ensure pathname failed, implemented in conn.go */
+ HAKUREI_WAYLAND_CREAT,
+ /* socket for host server failed, implemented in conn.go */
+ HAKUREI_WAYLAND_HOST_SOCKET,
+ /* connect for host server failed, implemented in conn.go */
+ HAKUREI_WAYLAND_HOST_CONNECT,
+ /* cleanup failed, implemented in conn.go */
+ HAKUREI_WAYLAND_CLEANUP,
} hakurei_wayland_res;
-hakurei_wayland_res hakurei_security_context_bind(
- char *socket_path,
- int server_fd,
- const char *app_id,
- const char *instance_id,
- int close_fd);
+hakurei_wayland_res hakurei_security_context_bind(char *socket_path,
+ int server_fd,
+ const char *app_id,
+ const char *instance_id,
+ int close_fd);
/* returns whether the specified size fits in the sun_path field of sockaddr_un */
-static inline bool hakurei_is_valid_size_sun_path(size_t sz) {
- struct sockaddr_un sockaddr;
- return sz <= sizeof(sockaddr.sun_path);
+static inline bool hakurei_is_valid_size_sun_path(size_t sz)
+{
+ struct sockaddr_un sockaddr;
+ return sz <= sizeof(sockaddr.sun_path);
};