+/*
+ * Regular callbacks
+ * =============================================================================
+ */
+
+typedef struct steam_callback_handler steam_callback_handler;
+struct steam_callback_handler
+{
+ u32 callback_id;
+ void (*p_handler)( CallbackMsg_t *msg );
+}
+static steam_callback_handlers[64];
+static u32 steam_callback_handler_count;
+
+static int steam_register_callback( u32 id,
+ void (*p_handler)( CallbackMsg_t *msg ) )
+{
+ if( steam_callback_handler_count == vg_list_size(steam_callback_handlers) )
+ {
+ vg_error( "Too many steam callback handlers registered (%u)\n",
+ steam_callback_handler_count );
+
+ return 0;
+ }
+
+ steam_callback_handler *handler = &steam_callback_handlers[
+ steam_callback_handler_count ++ ];
+
+ handler->p_handler = p_handler;
+ handler->callback_id = id;
+
+ return 1;
+}
+