ekg2  GIT master
 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 (const struct ekg_group *data1, const struct ekg_group *data2)
 
static void group_item_free (struct ekg_group *data)
 
static void ekg_groups_add (struct ekg_group **lista, struct ekg_group *new)
 
static void ekg_groups_destroy (struct ekg_group **lista)
 
static int userlist_compare (const userlist_t *data1, const userlist_t *data2)
 
static void userlist_free_item (userlist_t *data)
 
static void userlists_add (userlist_t **lista, userlist_t *new)
 
 __attribute__ ((visibility("hidden")))
 
static struct ekg_groupgroup_init (const char *groups)
 
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)
 

Zmienne

struct ignore_label ignore_labels []
 

Dokumentacja definicji

#define __EXTENSIONS__
#define _XOPEN_SOURCE   600

Dokumentacja funkcji

__attribute__ ( (visibility("hidden"))  )
static char** array_make_groups ( const char *  string)
static
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.
static void ekg_groups_add ( struct ekg_group **  lista,
struct ekg_group new 
)
static
static void ekg_groups_destroy ( struct ekg_group **  lista)
static
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 ( const struct ekg_group data1,
const struct ekg_group data2 
)
static
static struct ekg_group* group_init ( const char *  groups)
static
static void group_item_free ( struct ekg_group data)
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 int userlist_compare ( const userlist_t data1,
const userlist_t data2 
)
static
userlist_t* userlist_find ( session_t session,
const char *  uid 
)
static void userlist_free_item ( userlist_t data)
static
static void userlists_add ( userlist_t **  lista,
userlist_t new 
)
static

Dokumentacja zmiennych

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 }
}