ekg2
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje Grupay Strony
Definicje | Funkcje | Zmienne
Dokumentacja pliku userlist.c
#include "ekg2-config.h"
#include <stdlib.h>
#include <string.h>
#include "dynstuff.h"
#include "dynstuff_inline.h"
#include "userlist.h"
#include "xmalloc.h"

Definicje

#define _XOPEN_SOURCE   600
 
#define __EXTENSIONS__
 

Funkcje

static int group_compare (struct ekg_group *data1, struct ekg_group *data2)
 
static LIST_FREE_ITEM (group_item_free, struct ekg_group *)
 
 DYNSTUFF_LIST_DECLARE_SORTED (ekg_groups, struct ekg_group, group_compare, group_item_free, static __DYNSTUFF_ADD_SORTED, __DYNSTUFF_NOREMOVE, static __DYNSTUFF_DESTROY) static int userlist_compare(userlist_t *data1
 
static LIST_FREE_ITEM (userlist_free_item, userlist_t *)
 
 DYNSTUFF_LIST_DECLARE_SORTED (userlists, userlist_t, userlist_compare, userlist_free_item, static __DYNSTUFF_ADD_SORTED, EXPORTNOT __DYNSTUFF_REMOVE_SAFE, EXPORTNOT __DYNSTUFF_DESTROY) static struct ekg_group *group_init(const char *groups)
 
EXPORTNOT userlist_tremote_userlist_add_entry (userlist_t **userlist, char **__entry, int count)
 
EXPORTNOT void userlist_free (session_t *session)
 
EXPORTNOT int userlist_remove (session_t *session, userlist_t *u)
 
userlist_tuserlist_find (session_t *session, const char *uid)
 
char * get_uid (session_t *session, const char *text)
 
int ignored_check (session_t *session, const char *uid)
 
int ekg_group_member (userlist_t *u, const char *group)
 
static char ** array_make_groups (const char *string)
 
static struct ekg_groupgroup_init (const char *names)
 

Zmienne

struct ignore_label ignore_labels []
 
userlist_tdata2 { return xstrcasecmp(data1->nickname, data2->nickname)
 

Dokumentacja definicji

#define __EXTENSIONS__
#define _XOPEN_SOURCE   600

Dokumentacja funkcji

static char** array_make_groups ( const char *  string)
static
DYNSTUFF_LIST_DECLARE_SORTED ( ekg_groups  ,
struct ekg_group  ,
group_compare  ,
group_item_free  ,
static  __DYNSTUFF_ADD_SORTED,
__DYNSTUFF_NOREMOVE  ,
static  __DYNSTUFF_DESTROY 
)
DYNSTUFF_LIST_DECLARE_SORTED ( userlists  ,
userlist_t  ,
userlist_compare  ,
userlist_free_item  ,
static  __DYNSTUFF_ADD_SORTED,
EXPORTNOT  __DYNSTUFF_REMOVE_SAFE,
EXPORTNOT  __DYNSTUFF_DESTROY 
) const
int ekg_group_member ( userlist_t u,
const char *  group 
)

ekg_group_member()

sprawdza czy użytkownik jest członkiem danej grupy.

Parametry
u- uzytkownik, ktorego chcemy sprawdzic
group- grupa ktora chcemy sprawdzic
Zwraca
1 jeśli tak, 0 jeśli nie.
char* get_uid ( session_t session,
const char *  text 
)

get_uid()

Return and checks if uid passed text is proper for session or it's nickname of smb on session userlist.

Nota
It also work with userlist_find() and if text is nickname of smb in session userlist.. Than it return uid of this user. So you shouldn't call userlist_find() with get_uid() as param, cause it's senseless userlist_find() don't check for "$" target, so you must do it by hand. Rest is the same. If there are such user: userlist_find(s, get_uid(s, target)) return the same as userlist_find(s, target)
If not, even userlist_find(s, get_uid(s, get_uid(s, get_uid(s, target)))) won't help
Parametry
session- session to check for, if NULL check all sessions (it doesn't look at userlists, in this mode)
text- uid to check for, if '$' than check current window.
Zobacz również
userlist_find()
get_nickname() - to look for nickname..
get_uid_any() - to do all session searching+specified session userlist search.. This function does only all session searching if session is NULL... and than it doesn't look at userlist. Do you feel difference?
Zwraca
If we found proper uid for text, than return it. Otherwise NULL
static int group_compare ( struct ekg_group data1,
struct ekg_group data2 
)
static
static struct ekg_group* group_init ( const char *  names)
static
int ignored_check ( session_t session,
const char *  uid 
)

ignored_check()

czy dany numerek znajduje się na liście ignorowanych.

Parametry
session- sesja w ktorej mamy szukac uzytkownika
uid- uid uzytkownika
static LIST_FREE_ITEM ( group_item_free  ,
struct ekg_group  
)
static
static LIST_FREE_ITEM ( userlist_free_item  ,
userlist_t  
)
static
EXPORTNOT userlist_t* remote_userlist_add_entry ( userlist_t **  userlist,
char **  __entry,
int  count 
)
userlist_t* userlist_find ( session_t session,
const char *  uid 
)
EXPORTNOT void userlist_free ( session_t session)
EXPORTNOT int userlist_remove ( session_t session,
userlist_t u 
)

Dokumentacja zmiennych

userlist_t* data2 { return xstrcasecmp(data1->nickname, data2->nickname)
struct ignore_label ignore_labels[]
Wartość początkowa:
= {
{ IGNORE_STATUS, "status" },
{ IGNORE_STATUS_DESCR, "descr" },
{ IGNORE_NOTIFY, "notify" },
{ IGNORE_MSG, "msg" },
{ IGNORE_DCC, "dcc" },
{ IGNORE_EVENTS, "events" },
{ IGNORE_XOSD, "xosd" },
{ IGNORE_LOG, "log" },
{ 0, NULL }
}