+ ctypedef struct PurpleStatusType
+ ctypedef struct PurpleStatusAttr
+ ctypedef struct PurplePresence
+ ctypedef struct PurpleStatus
+
+ ctypedef enum PurplePresenceContext:
+ PURPLE_PRESENCE_CONTEXT_UNSET = 0
+ PURPLE_PRESENCE_CONTEXT_ACCOUNT
+ PURPLE_PRESENCE_CONTEXT_CONV
+ PURPLE_PRESENCE_CONTEXT_BUDDY
+
+ ctypedef enum PurpleStatusPrimitive:
+ PURPLE_STATUS_UNSET = 0
+ PURPLE_STATUS_OFFLINE
+ PURPLE_STATUS_AVAILABLE
+ PURPLE_STATUS_UNAVAILABLE
+ PURPLE_STATUS_INVISIBLE
+ PURPLE_STATUS_AWAY
+ PURPLE_STATUS_EXTENDED_AWAY
+ PURPLE_STATUS_MOBILE
+ PURPLE_STATUS_TUNE
+ PURPLE_STATUS_NUM_PRIMITIVES
+
+ ctypedef struct PurpleStatusType:
+ PurpleStatusPrimitive primitive
+ char *id
+ char *name
+ char *primary_attr_id
+ glib.gboolean saveable
+ glib.gboolean user_settable
+ glib.gboolean independent
+ glib.GList *attrs
+
+ ctypedef struct PurpleStatusAttr:
+ char *id
+ char *name
+ value.PurpleValue *value_type
+
+ ctypedef struct __ChatType:
+ conversation.PurpleConversation *conv
+ char *user
+
+ ctypedef struct __BuddyType:
+ account.PurpleAccount *account
+ char *name
+ blist.PurpleBuddy *buddy
+
+ ctypedef union __UnionType:
+ account.PurpleAccount *account
+ __ChatType chat
+ __BuddyType buddy
+