+enum afs_events {
+ ATTRIBUTE_ADD,
+ ATTRIBUTE_RENAME,
+ ATTRIBUTE_REMOVE,
+ AFSI_CHANGE,
+ AFHI_CHANGE,
+ AUDIO_FILE_RENAME,
+ AUDIO_FILE_ADD,
+ AUDIO_FILE_REMOVE,
+ LYRICS_ADD,
+ LYRICS_REMOVE,
+ LYRICS_RENAME,
+ IMAGE_ADD,
+ IMAGE_REMOVE,
+ IMAGE_RENAME,
+
+};
+
+struct rmatt_event_data {
+ const char *name;
+ unsigned char bitnum;
+};
+
+
+struct addatt_event_data {
+ const char *name;
+ unsigned char bitnum;
+};
+
+struct afsi_change_event_data {
+ const struct osl_row *aft_row;
+ struct afs_info *old_afsi;
+};
+
+union afs_event_data {
+ struct {
+ const char *name;
+ unsigned char bitnum;
+ } rmatt_event_data;
+ struct osl_row *row;
+ struct {
+ const struct osl_row *row;
+ struct afs_info *old_afsi;
+ } afsi_change;
+
+};