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_t * remote_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_t * userlist_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_group * group_init (const char *names)
 

Zmienne

struct ignore_label ignore_labels []
 
userlist_t * data2 { 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 }
}