diff --git a/libmapper/mapper.h b/libmapper/mapper.h
index 8fa5db6..854f40c 100644
--- a/libmapper/mapper.h
+++ b/libmapper/mapper.h
@@ -4,19 +4,17 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-typedef enum mapper_operation
-{
-	MAPPER_OP_REMOVE = 1
-} mapper_operation;
+typedef enum mapper_operation { MAPPER_OP_REMOVE = 1 } mapper_operation;
 typedef struct mapper_async_wait mapper_async_wait;
 typedef struct mapper_async_subtree mapper_async_subtree;
 void mapper_wait_async_free(mapper_async_wait *);
 void mapper_subtree_async_free(mapper_async_subtree *);
 
-int mapper_wait_async(sd_bus *, sd_event *, char *[],
-		void (*)(int, void *), void *, mapper_async_wait **);
+int mapper_wait_async(sd_bus *, sd_event *, char *[], void (*)(int, void *),
+                      void *, mapper_async_wait **);
 int mapper_subtree_async(sd_bus *, sd_event *, char *, char *,
-		void (*)(int, void *), void *, mapper_async_subtree **, int);
+                         void (*)(int, void *), void *, mapper_async_subtree **,
+                         int);
 int mapper_get_service(sd_bus *conn, const char *obj, char **service);
 int mapper_get_object(sd_bus *conn, const char *obj, sd_bus_message **reply);
 #ifdef __cplusplus
