+faim_export const char *aim_userinfo_sn(aim_userinfo_t *ui)
+{
+
+ if (!ui)
+ return NULL;
+
+ return ui->sn;
+}
+
+faim_export fu16_t aim_userinfo_flags(aim_userinfo_t *ui)
+{
+
+ if (!ui)
+ return 0;
+
+ return ui->flags;
+}
+
+faim_export fu16_t aim_userinfo_idle(aim_userinfo_t *ui)
+{
+
+ if (!ui)
+ return 0;
+
+ return ui->idletime;
+}
+
+faim_export float aim_userinfo_warnlevel(aim_userinfo_t *ui)
+{
+
+ if (!ui)
+ return 0.00;
+
+ return (ui->warnlevel / 10);
+}
+
+faim_export time_t aim_userinfo_membersince(aim_userinfo_t *ui)
+{
+
+ if (!ui)
+ return 0;
+
+ return (time_t)ui->membersince;
+}
+
+faim_export time_t aim_userinfo_onlinesince(aim_userinfo_t *ui)
+{
+
+ if (!ui)
+ return 0;
+
+ return (time_t)ui->onlinesince;
+}
+
+faim_export fu32_t aim_userinfo_sessionlen(aim_userinfo_t *ui)
+{
+
+ if (!ui)
+ return 0;
+
+ return ui->sessionlen;
+}
+
+faim_export int aim_userinfo_hascap(aim_userinfo_t *ui, fu16_t cap)
+{
+
+ if (!ui || !ui->capspresent)
+ return -1;
+
+ return !!(ui->capabilities & cap);
+}
+
+