Index: libfaim/service.c
===================================================================
--- libfaim/service.c	(revision 5e53c4a15eca8b264df0aedf726d4545bc5b4b46)
+++ libfaim/service.c	(revision 862371bb6a5ff5a6491550028e73824b698508bb)
@@ -1,4 +1,4 @@
 /*
- * Group 1.  This is a very special group.  All connections support
+ * Family 0x0001 - This is a very special group.  All connections support
  * this group, as it does some particularly good things (like rate limiting).
  */
@@ -10,5 +10,5 @@
 #include "md5.h"
 
-/* Client Online (group 1, subtype 2) */
+/* Subtype 0x0002 - Client Online */
 faim_export int aim_clientready(aim_session_t *sess, aim_conn_t *conn)
 {
@@ -49,5 +49,5 @@
 
 /*
- * Host Online (group 1, type 3)
+ * Subtype 0x0003 - Host Online
  * 
  * See comments in conn.c about how the group associations are supposed
@@ -92,5 +92,5 @@
 }
 
-/* Service request (group 1, type 4) */
+/* Subtype 0x0004 - Service request */
 faim_export int aim_reqservice(aim_session_t *sess, aim_conn_t *conn, fu16_t serviceid)
 {
@@ -98,5 +98,5 @@
 }
 
-/* Redirect (group 1, type 5) */
+/* Subtype 0x0005 - Redirect */
 static int redirect(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -148,5 +148,5 @@
 }
 
-/* Request Rate Information. (group 1, type 6) */
+/* Subtype 0x0006 - Request Rate Information. */
 faim_internal int aim_reqrates(aim_session_t *sess, aim_conn_t *conn)
 {
@@ -258,5 +258,5 @@
 }
 
-/* Rate Parameters (group 1, type 7) */
+/* Subtype 0x0007 - Rate Parameters */
 static int rateresp(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -345,5 +345,5 @@
 }
 
-/* Add Rate Parameter (group 1, type 8) */
+/* Subtype 0x0008 - Add Rate Parameter */
 faim_internal int aim_rates_addparam(aim_session_t *sess, aim_conn_t *conn)
 {
@@ -367,5 +367,5 @@
 }
 
-/* Delete Rate Parameter (group 1, type 9) */
+/* Subtype 0x0009 - Delete Rate Parameter */
 faim_internal int aim_rates_delparam(aim_session_t *sess, aim_conn_t *conn)
 {
@@ -389,5 +389,5 @@
 }
 
-/* Rate Change (group 1, type 0x0a) */
+/* Subtype 0x000a - Rate Change */
 static int ratechange(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -414,5 +414,5 @@
 
 /*
- * How Migrations work.  
+ * How Migrations work.
  *
  * The server sends a Server Pause message, which the client should respond to 
@@ -426,5 +426,5 @@
  */
 
-/* Service Pause (group 1, type 0x0b) */
+/* Subtype 0x000b - Service Pause */
 static int serverpause(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -438,5 +438,5 @@
 
 /*
- * Service Pause Acknowledgement (group 1, type 0x0c)
+ * Subtype 0x000c - Service Pause Acknowledgement
  *
  * It is rather important that aim_sendpauseack() gets called for the exact
@@ -474,5 +474,5 @@
 }
 
-/* Service Resume (group 1, type 0x0d) */
+/* Subtype 0x000d - Service Resume */
 static int serverresume(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -485,5 +485,5 @@
 }
 
-/* Request self-info (group 1, type 0x0e) */
+/* Subtype 0x000e - Request self-info */
 faim_export int aim_reqpersonalinfo(aim_session_t *sess, aim_conn_t *conn)
 {
@@ -491,5 +491,5 @@
 }
 
-/* Self User Info (group 1, type 0x0f) */
+/* Subtype 0x000f - Self User Info */
 static int selfinfo(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -505,5 +505,5 @@
 }
 
-/* Evil Notification (group 1, type 0x10) */
+/* Subtype 0x0010 - Evil Notification */
 static int evilnotify(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -526,5 +526,5 @@
 
 /*
- * Idle Notification (group 1, type 0x11)
+ * Subtype 0x0011 - Idle Notification
  *
  * Should set your current idle time in seconds.  Note that this should
@@ -540,5 +540,5 @@
 
 /*
- * Service Migrate (group 1, type 0x12)
+ * Subtype 0x0012 - Service Migrate
  *
  * This is the final SNAC sent on the original connection during a migration.
@@ -592,5 +592,5 @@
 }
 
-/* Message of the Day (group 1, type 0x13) */
+/* Subtype 0x0013 - Message of the Day */
 static int motd(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -632,5 +632,5 @@
 
 /* 
- * Set privacy flags (group 1, type 0x14)
+ * Subtype 0x0014 - Set privacy flags
  *
  * Normally 0x03.
@@ -646,8 +646,8 @@
 
 /*
- * No-op (group 1, type 0x16)
+ * Subtype 0x0016 - No-op
  *
  * WinAIM sends these every 4min or so to keep the connection alive.  Its not 
- * real necessary.
+ * really necessary.
  *
  */
@@ -658,5 +658,5 @@
 
 /* 
- * Set client versions (group 1, subtype 0x17) 
+ * Subtype 0x0017 - Set client versions
  *
  * If you've seen the clientonline/clientready SNAC you're probably 
@@ -705,5 +705,5 @@
 }
 
-/* Host versions (group 1, subtype 0x18) */
+/* Subtype 0x0018 - Host versions */
 static int hostversions(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -725,5 +725,5 @@
 
 /* 
- * Set Extended Status (group 1, type 0x1e) 
+ * Subtype 0x001e - Set Extended Status
  *
  * Currently only works if using ICQ.
@@ -791,5 +791,5 @@
  *
  */
-/* Client verification (group 1, subtype 0x1f) */
+/* Subtype 0x001f - Client verification */
 static int memrequest(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
 {
@@ -816,5 +816,5 @@
 }
 
-#if 0 
+#if 0
 static void dumpbox(aim_session_t *sess, unsigned char *buf, int len)
 {
@@ -839,5 +839,5 @@
 #endif
 
-/* Client verification reply (group 1, subtype 0x20) */
+/* Subtype 0x0020 - Client verification reply */
 faim_export int aim_sendmemblock(aim_session_t *sess, aim_conn_t *conn, fu32_t offset, fu32_t len, const fu8_t *buf, fu8_t flag)
 {
@@ -970,3 +970,2 @@
 	return 0;
 }
-
