/* vi: set ts=4 sw=4 ai: */
/*
* obj_ur.h
*
* Lotos v1.2.3 : (c) 1999-2003 Pavol Hluchy (Lopo)
* last update : 30.1.2003
* email : lotos@losys.sk
* homepage : lotos.losys.sk
*/
#ifndef __OBJ_UR_H__
#define __OBJ_UR_H__ 1
#include <time.h>
#include <sys/time.h>
#include <sys/types.h>
typedef struct user_ignore_struct {
unsigned all : 1;
unsigned all_store : 1;
unsigned tells : 1;
unsigned logons : 1;
unsigned shouts : 1;
unsigned pics : 1;
unsigned wiz : 1;
unsigned greets : 1;
unsigned beeps : 1;
unsigned transp : 1;
unsigned funs : 1;
} USER_IGNORE;
typedef struct user_terminal_struct {
unsigned bckg : 1;
unsigned txt : 1;
unsigned revers : 1;
unsigned blink : 1;
unsigned bold : 1;
unsigned underline : 1;
unsigned clear : 1;
unsigned music : 1;
unsigned xterm : 1;
unsigned checho : 1;
unsigned wrap : 1;
unsigned blind : 1;
unsigned pager : 13;
} USER_TERMINAL;
typedef struct {
time_t time;
char buff[REVIEW_LEN+2];
} revtell_buffer;
/* user variables - some are saved in the user file, and some are not */
struct user_struct {
char name[USER_NAME_LEN+1],desc[USER_DESC_LEN+1],pass[PASS_LEN+6];
char in_phrase[PHRASE_LEN+1],out_phrase[PHRASE_LEN+1];
char buff[BUFSIZE],site[81],ipsite[81],last_site[81],page_file[500];
char mail_to[WORD_LEN+1];
char afk_mesg[AFK_MESG_LEN+1],inpstr_old[REVIEW_LEN+1];
char logout_room[ROOM_NAME_LEN+1],version[10];
char copyto[MAX_COPIES][USER_NAME_LEN+1],invite_by[USER_NAME_LEN+1],date[80];
char email[81],homepage[81],ignoreuser[MAX_IGNORES][USER_NAME_LEN+1],recap[USER_NAME_LEN+USER_NAME_LEN*3];
char bw_recap[USER_NAME_LEN+1],call[USER_NAME_LEN+1],friend[MAX_FRIENDS][USER_NAME_LEN+1];
char verify_code[80];
char samesite_check_store[ARR_SIZE];
char *malloc_start,*malloc_end,icq[ICQ_LEN+1];
int type,login,attempts,vis,prompt,command_mode,muzzled;
int gender,hideemail,edit_line,warned,accreq,real_level;
int afk,clone_hear,unarrest,arrestby,expire,lroom,monitor;
int show_rdesc,alert,mail_verified,autofwd,editing,show_pass,pages[MAX_PAGES];
int samesite_all_store;
int port,site_port,socket,buffpos,remote_com,charcnt,misc_op,last_login_len;
int edit_op,revline,level,wipe_from,wipe_to,logons,cmd_type,user_page_pos,user_page_lev;
int age,misses,hits,kills,deaths,bullets,hps,afkline,editline;
int lmail_lev,hwrap_lev,hwrap_id,hwrap_same,hwrap_func,gcoms[MAX_GCOMS],xcoms[MAX_XCOMS];
long int filepos, pagecnt;
struct room_struct *room,*invite_room,*wrap_room;
struct user_struct *prev,*next,*owner;
struct {
int day,month,year,alert; char msg[REMINDER_LEN];
} reminder[MAX_REMINDERS],temp_remind;
time_t last_input,last_login,total_login,read_mail,t_expire;
#ifdef NETLINKS
struct netlink_struct *netlink,*pot_netlink;
#endif
#ifdef PUEBLO
/* PUEBLO ENHANCET SESSION VARIABLES */
int pueblo, pueblo_mm, pueblo_pg, voiceprompt, pblodetect;
#endif
int tmp_int;
char *p_tmp_ch;
struct macro_struct *first_macro, *last_macro;
char prompt_str[PROMPT_LEN-1];
char nameg[USER_NAME_LEN+6];
char named[USER_NAME_LEN+6];
char namea[USER_NAME_LEN+6];
char namel[USER_NAME_LEN+6];
char namei[USER_NAME_LEN+6];
char namex[USER_NAME_LEN+6];
char namey[USER_NAME_LEN+6];
char namez[USER_NAME_LEN+6];
/* alarm - budik */
int atime, alarm;
char murlist[MAX_MUSERS][USER_NAME_LEN+1]; /* multi user list */
char ltell[USER_NAME_LEN+1];
char restrict[MAX_RESTRICT+1];
char *ign_word;
char follow[USER_NAME_LEN+1];
long tcount, bcount;
unsigned long auth_addr;
int set_mode, set_op;
int hwrap_pl;
int who_type;
char status;
pid_t lynx;
int money, bank, inctime, kradnutie;
struct pl02x100_player *pl02x100; //hangman
USER_IGNORE ignore;
USER_TERMINAL terminal;
revtell_buffer revbuff[REVTELL_LINES];
revtell_buffer afkbuff[REVTELL_LINES];
revtell_buffer editbuff[REVTELL_LINES];
int next_ping;
long last_ping;
struct timeval ping_timer;
};
typedef struct user_struct *UR_OBJECT;
#endif /* __OBJ_UR_H__ */