doc: Fix the Doxygen section endings

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
diff --git a/include/osmocom/core/bits.h b/include/osmocom/core/bits.h
index b541b9c..4c68532 100644
--- a/include/osmocom/core/bits.h
+++ b/include/osmocom/core/bits.h
@@ -73,6 +73,6 @@
 /* \brief reverse the bits of each byte in a given buffer */
 void osmo_revbytebits_buf(uint8_t *buf, int len);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _OSMO_BITS_H */
diff --git a/include/osmocom/core/bitvec.h b/include/osmocom/core/bitvec.h
index c2422e6..9c000d0 100644
--- a/include/osmocom/core/bitvec.h
+++ b/include/osmocom/core/bitvec.h
@@ -65,6 +65,6 @@
 int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, enum bit_value val);
 int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _BITVEC_H */
diff --git a/include/osmocom/core/conv.h b/include/osmocom/core/conv.h
index e76a5c6..e5b2a97 100644
--- a/include/osmocom/core/conv.h
+++ b/include/osmocom/core/conv.h
@@ -141,6 +141,6 @@
                      const sbit_t *input, ubit_t *output);
 
 
-/*! }@ */
+/*! @} */
 
 #endif /* __OSMO_CONV_H__ */
diff --git a/include/osmocom/core/crcXXgen.h.tpl b/include/osmocom/core/crcXXgen.h.tpl
index b411276..89d083a 100644
--- a/include/osmocom/core/crcXXgen.h.tpl
+++ b/include/osmocom/core/crcXXgen.h.tpl
@@ -52,7 +52,7 @@
                             const ubit_t *in, int len, ubit_t *crc_bits);
 
 
-/*! }@ */
+/*! @} */
 
 #endif /* __OSMO_CRCXXGEN_H__ */
 
diff --git a/include/osmocom/core/crcgen.h b/include/osmocom/core/crcgen.h
index cd916c7..8e208a7 100644
--- a/include/osmocom/core/crcgen.h
+++ b/include/osmocom/core/crcgen.h
@@ -36,6 +36,6 @@
 #include <osmocom/core/crc32gen.h>
 #include <osmocom/core/crc64gen.h>
 
-/*! }@ */
+/*! @} */
 
 #endif /* __OSMO_CRCGEN_H__ */
diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h
index 043a850..76be100 100644
--- a/include/osmocom/core/logging.h
+++ b/include/osmocom/core/logging.h
@@ -206,6 +206,6 @@
 struct log_target *log_target_find(int type, const char *fname);
 extern struct llist_head osmo_log_target_list;
 
-/*! }@ */
+/*! @} */
 
 #endif /* _OSMOCORE_LOGGING_H */
diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h
index e465ec2..5457a07 100644
--- a/include/osmocom/core/msgb.h
+++ b/include/osmocom/core/msgb.h
@@ -365,6 +365,6 @@
 uint16_t msgb_length(const struct msgb *msg);
 void msgb_set_talloc_ctx(void *ctx);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _MSGB_H */
diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h
index c38e5f9..24577fd 100644
--- a/include/osmocom/core/rate_ctr.h
+++ b/include/osmocom/core/rate_ctr.h
@@ -84,5 +84,5 @@
 struct rate_ctr_group *rate_ctr_get_group_by_name_idx(const char *name, const unsigned int idx);
 const struct rate_ctr *rate_ctr_get_by_name(const struct rate_ctr_group *ctrg, const char *name);
 
-/*! }@ */
+/*! @} */
 #endif /* RATE_CTR_H */
diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h
index 18aad35..efdd716 100644
--- a/include/osmocom/core/select.h
+++ b/include/osmocom/core/select.h
@@ -40,6 +40,6 @@
 void osmo_fd_unregister(struct osmo_fd *fd);
 int osmo_select_main(int polling);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _BSC_SELECT_H */
diff --git a/include/osmocom/core/serial.h b/include/osmocom/core/serial.h
index 7385425..889bd8a 100644
--- a/include/osmocom/core/serial.h
+++ b/include/osmocom/core/serial.h
@@ -38,6 +38,6 @@
 int osmo_serial_set_custom_baudrate(int fd, int baudrate);
 int osmo_serial_clear_custom_baudrate(int fd);
 
-/*! }@ */
+/*! @} */
 
 #endif /* __OSMO_SERIAL_H__ */
diff --git a/include/osmocom/core/signal.h b/include/osmocom/core/signal.h
index 07d0e6f..cd56f68 100644
--- a/include/osmocom/core/signal.h
+++ b/include/osmocom/core/signal.h
@@ -40,6 +40,6 @@
 /* Dispatch */
 void osmo_signal_dispatch(unsigned int subsys, unsigned int signal, void *signal_data);
 
-/*! }@ */
+/*! @} */
 
 #endif /* OSMO_SIGNAL_H */
diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h
index 8821463..f15a03a 100644
--- a/include/osmocom/core/socket.h
+++ b/include/osmocom/core/socket.h
@@ -30,6 +30,6 @@
 
 int osmo_sockaddr_is_local(struct sockaddr *addr, unsigned int addrlen);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _OSMOCORE_SOCKET_H */
diff --git a/include/osmocom/core/timer.h b/include/osmocom/core/timer.h
index 30f558b..ecb5001 100644
--- a/include/osmocom/core/timer.h
+++ b/include/osmocom/core/timer.h
@@ -82,6 +82,6 @@
 int osmo_timers_update(void);
 int osmo_timers_check(void);
 
-/*! }@ */
+/*! @} */
 
 #endif
diff --git a/include/osmocom/core/timer_compat.h b/include/osmocom/core/timer_compat.h
index 209e84a..d86c109 100644
--- a/include/osmocom/core/timer_compat.h
+++ b/include/osmocom/core/timer_compat.h
@@ -74,6 +74,6 @@
 #endif
 
 
-/*! }@ */
+/*! @} */
 
 #endif /* TIMER_COMPAT_H */
diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h
index f1843d9..78cf186 100644
--- a/include/osmocom/core/utils.h
+++ b/include/osmocom/core/utils.h
@@ -51,6 +51,6 @@
 	rem -= ret;						\
 } while (0)
 
-/*! }@ */
+/*! @} */
 
 #endif
diff --git a/include/osmocom/core/write_queue.h b/include/osmocom/core/write_queue.h
index 8b896d1..816c036 100644
--- a/include/osmocom/core/write_queue.h
+++ b/include/osmocom/core/write_queue.h
@@ -58,6 +58,6 @@
 int osmo_wqueue_enqueue(struct osmo_wqueue *queue, struct msgb *data);
 int osmo_wqueue_bfd_cb(struct osmo_fd *fd, unsigned int what);
 
-/*! }@ */
+/*! @} */
 
 #endif
diff --git a/include/osmocom/gsm/a5.h b/include/osmocom/gsm/a5.h
index 7e6a17c..649dbab 100644
--- a/include/osmocom/gsm/a5.h
+++ b/include/osmocom/gsm/a5.h
@@ -58,6 +58,6 @@
 void osmo_a5_1(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul);
 void osmo_a5_2(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul);
 
-/*! }@ */
+/*! @} */
 
 #endif /* __OSMO_A5_H__ */
diff --git a/include/osmocom/gsm/abis_nm.h b/include/osmocom/gsm/abis_nm.h
index 5b5bff0..cc01765 100644
--- a/include/osmocom/gsm/abis_nm.h
+++ b/include/osmocom/gsm/abis_nm.h
@@ -35,6 +35,6 @@
 int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan);
 enum abis_nm_chan_comb abis_nm_pchan4chcomb(uint8_t chcomb);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _OSMO_GSM_ABIS_NM_H */
diff --git a/include/osmocom/gsm/lapdm.h b/include/osmocom/gsm/lapdm.h
index 52e8fc5..571fd46 100644
--- a/include/osmocom/gsm/lapdm.h
+++ b/include/osmocom/gsm/lapdm.h
@@ -157,6 +157,6 @@
 
 int lapdm_phsap_dequeue_prim(struct lapdm_entity *le, struct osmo_phsap_prim *pp);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _OSMOCOM_LAPDM_H */
diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h
index b6a5dd8..10c201d 100644
--- a/include/osmocom/gsm/protocol/gsm_08_58.h
+++ b/include/osmocom/gsm/protocol/gsm_08_58.h
@@ -556,6 +556,6 @@
 	RSL_MRPCI_PHASE_2PLUS	= 3,
 };
 
-/*! }@ */
+/*! @} */
 
 #endif /* PROTO_GSM_08_58_H */
diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h
index 061dcb6..694df93 100644
--- a/include/osmocom/gsm/protocol/gsm_12_21.h
+++ b/include/osmocom/gsm/protocol/gsm_12_21.h
@@ -743,6 +743,6 @@
 	IPAC_BINF_CELL_ALLOC		= (1 << 2),
 };
 
-/*! }@ */
+/*! @} */
 
 #endif /* PROTO_GSM_12_21_H */
diff --git a/include/osmocom/gsm/rsl.h b/include/osmocom/gsm/rsl.h
index 712d17b..b8e4157 100644
--- a/include/osmocom/gsm/rsl.h
+++ b/include/osmocom/gsm/rsl.h
@@ -50,6 +50,6 @@
 struct msgb *rsl_rll_simple(uint8_t msg_type, uint8_t chan_nr,
 			    uint8_t link_id, int transparent);
 
-/*! }@ */
+/*! @} */
 
 #endif /* _OSMOCORE_RSL_H */
diff --git a/include/osmocom/gsm/tlv.h b/include/osmocom/gsm/tlv.h
index d2936d6..d1efc55 100644
--- a/include/osmocom/gsm/tlv.h
+++ b/include/osmocom/gsm/tlv.h
@@ -314,6 +314,6 @@
 #define TLVP_LEN(x, y)		(x)->lv[y].len
 #define TLVP_VAL(x, y)		(x)->lv[y].val
 
-/*! }@ */
+/*! @} */
 
 #endif /* _TLV_H */
diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h
index 79d0aec..664c83c 100644
--- a/include/osmocom/vty/command.h
+++ b/include/osmocom/vty/command.h
@@ -366,5 +366,5 @@
 
 extern void *tall_vty_cmd_ctx;
 
-/*! }@ */
+/*! @} */
 #endif				/* _ZEBRA_COMMAND_H */
diff --git a/include/osmocom/vty/telnet_interface.h b/include/osmocom/vty/telnet_interface.h
index 65a1dd9..3c22201 100644
--- a/include/osmocom/vty/telnet_interface.h
+++ b/include/osmocom/vty/telnet_interface.h
@@ -51,6 +51,6 @@
 
 void telnet_exit(void);
 
-/*! }@ */
+/*! @} */
 
 #endif /* TELNET_INTERFACE_H */
diff --git a/include/osmocom/vty/vty.h b/include/osmocom/vty/vty.h
index 83506c5..1518894 100644
--- a/include/osmocom/vty/vty.h
+++ b/include/osmocom/vty/vty.h
@@ -183,6 +183,6 @@
 extern struct cmd_element cfg_description_cmd;
 extern struct cmd_element cfg_no_description_cmd;
 
-/*! }@ */
+/*! @} */
 
 #endif
diff --git a/src/bits.c b/src/bits.c
index 9eb2d69..4c67bdd 100644
--- a/src/bits.c
+++ b/src/bits.c
@@ -185,4 +185,4 @@
 	}
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/bitvec.c b/src/bitvec.c
index 8a086b8..714c11b 100644
--- a/src/bitvec.c
+++ b/src/bitvec.c
@@ -261,4 +261,4 @@
 	return -1;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/conv.c b/src/conv.c
index ac39e29..ebc3eda 100644
--- a/src/conv.c
+++ b/src/conv.c
@@ -628,4 +628,4 @@
 	return rv;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/crcXXgen.c.tpl b/src/crcXXgen.c.tpl
index 5d70753..80bf1e2 100644
--- a/src/crcXXgen.c.tpl
+++ b/src/crcXXgen.c.tpl
@@ -115,6 +115,6 @@
 		crc_bits[i] = ((crc >> (code->bits-i-1)) & 1);
 }
 
-/*! }@ */
+/*! @} */
 
 /* vim: set syntax=c: */
diff --git a/src/gsm/a5.c b/src/gsm/a5.c
index 34f271a..356060a 100644
--- a/src/gsm/a5.c
+++ b/src/gsm/a5.c
@@ -364,4 +364,4 @@
 	}
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c
index 5c3647c..f6d4003 100644
--- a/src/gsm/abis_nm.c
+++ b/src/gsm/abis_nm.c
@@ -452,4 +452,4 @@
 	return GSM_PCHAN_NONE;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c
index e0b7943..f123cb6 100644
--- a/src/gsm/lapdm.c
+++ b/src/gsm/lapdm.c
@@ -1241,4 +1241,4 @@
 	lapdm_entity_set_flags(&lc->lapdm_acch, flags);
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c
index db276a2..5693b4f 100644
--- a/src/gsm/rsl.c
+++ b/src/gsm/rsl.c
@@ -504,4 +504,4 @@
 	return msg;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/gsm/tlv_parser.c b/src/gsm/tlv_parser.c
index c832d56..0ac9092 100644
--- a/src/gsm/tlv_parser.c
+++ b/src/gsm/tlv_parser.c
@@ -186,4 +186,4 @@
 		tvlv_att_def.def[i].type = TLV_TYPE_TvLV;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/logging.c b/src/logging.c
index f8ed4cb..8dfc31e 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -754,4 +754,4 @@
 	return 0;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/logging_syslog.c b/src/logging_syslog.c
index 119dd74..5b0ae5f 100644
--- a/src/logging_syslog.c
+++ b/src/logging_syslog.c
@@ -89,4 +89,4 @@
 
 #endif /* HAVE_SYSLOG_H */
 
-/* }@ */
+/* @} */
diff --git a/src/msgb.c b/src/msgb.c
index a403580..c8564db 100644
--- a/src/msgb.c
+++ b/src/msgb.c
@@ -153,4 +153,4 @@
 	tall_msgb_ctx = ctx;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/rate_ctr.c b/src/rate_ctr.c
index 24166b8..8a232e8 100644
--- a/src/rate_ctr.c
+++ b/src/rate_ctr.c
@@ -177,4 +177,4 @@
 	return NULL;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/select.c b/src/select.c
index c0705d3..6b73377 100644
--- a/src/select.c
+++ b/src/select.c
@@ -167,6 +167,6 @@
 	return work;
 }
 
-/*! }@ */
+/*! @} */
 
 #endif /* _HAVE_SYS_SELECT_H */
diff --git a/src/serial.c b/src/serial.c
index bc64b8a..11ba503 100644
--- a/src/serial.c
+++ b/src/serial.c
@@ -226,4 +226,4 @@
 	return 0;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/signal.c b/src/signal.c
index 7ddc2e0..6384384 100644
--- a/src/signal.c
+++ b/src/signal.c
@@ -106,4 +106,4 @@
 	}
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/socket.c b/src/socket.c
index defc366..53205cd 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -246,4 +246,4 @@
 
 #endif /* HAVE_SYS_SOCKET_H */
 
-/*! }@ */
+/*! @} */
diff --git a/src/timer.c b/src/timer.c
index 79d4ad6..cca2a23 100644
--- a/src/timer.c
+++ b/src/timer.c
@@ -233,4 +233,4 @@
 	return i;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/utils.c b/src/utils.c
index 0a970ac..cf0c934 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -212,4 +212,4 @@
 }
 #endif /* HAVE_CTYPE_H */
 
-/*! }@ */
+/*! @} */
diff --git a/src/vty/command.c b/src/vty/command.c
index fda2e17..c84c612 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -3322,4 +3322,4 @@
 	srand(time(NULL));
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/vty/telnet_interface.c b/src/vty/telnet_interface.c
index 001b016..7712041 100644
--- a/src/vty/telnet_interface.c
+++ b/src/vty/telnet_interface.c
@@ -220,4 +220,4 @@
 	talloc_free(tall_telnet_ctx);
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/vty/utils.c b/src/vty/utils.c
index 47b9931..b3223ed 100644
--- a/src/vty/utils.c
+++ b/src/vty/utils.c
@@ -60,4 +60,4 @@
 	};
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/vty/vty.c b/src/vty/vty.c
index da03596..04df2be 100644
--- a/src/vty/vty.c
+++ b/src/vty/vty.c
@@ -1768,4 +1768,4 @@
 	return rc;
 }
 
-/*! }@ */
+/*! @} */
diff --git a/src/write_queue.c b/src/write_queue.c
index 9ddc3af..cef40f8 100644
--- a/src/write_queue.c
+++ b/src/write_queue.c
@@ -115,4 +115,4 @@
 	queue->bfd.when &= ~BSC_FD_WRITE;
 }
 
-/*! }@ */
+/*! @} */