Another round of documentation.

Bug: N/A
Test: N/A
Change-Id: I1b818fbb36ddd6d084dee56828290c2717a0c9b0
diff --git a/libc/include/bits/ip_mreq_source.h b/libc/include/bits/ip_mreq_source.h
index 0eb8d68..83490a4 100644
--- a/libc/include/bits/ip_mreq_source.h
+++ b/libc/include/bits/ip_mreq_source.h
@@ -26,16 +26,21 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _BITS_IP_MREQ_SOURCE_H_
-#define _BITS_IP_MREQ_SOURCE_H_
+#pragma once
+
+/**
+ * @file bits/ip_mreq_source.h
+ * @brief The `ip_mreq_source` type.
+ */
 
 #include <sys/cdefs.h>
 #include <bits/in_addr.h>
 
+/**
+ * The type representing an IPv4 multicast source.
+ */
 struct ip_mreq_source {
   struct in_addr imr_multiaddr;
   struct in_addr imr_interface;
   struct in_addr imr_sourceaddr;
 };
-
-#endif