ekg2
GIT master
|
#include "ekg2.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <limits.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
Funkcje | |
static void | userlist_private_free (userlist_t *u) |
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 struct ekg_group * | ekg_groups_removei (struct ekg_group **lista, struct ekg_group *elem) |
static void | ekg_groups_destroy (struct ekg_group **lista) |
static int | userlist_resource_compare (const ekg_resource_t *data1, const ekg_resource_t *data2) |
static void | list_userlist_resource_free (ekg_resource_t *data) |
static void | ekg_resources_add (ekg_resource_t **lista, ekg_resource_t *new_) |
static void | ekg_resources_remove (ekg_resource_t **lista, ekg_resource_t *elem) |
static void | ekg_resources_destroy (ekg_resource_t **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_) |
void | userlists_remove (userlist_t **lista, userlist_t *elem) |
void | userlists_destroy (userlist_t **lista) |
void | userlist_add_entry (session_t *session, const char *line) |
int | userlist_read (session_t *session) |
void | userlist_write (session_t *session) |
void * | userlist_private_get (plugin_t *plugin, userlist_t *u) |
void | userlist_clear_status (session_t *session, const char *uid) |
void | userlist_free (session_t *session) |
ekg_resource_t * | userlist_resource_add (userlist_t *u, const char *name, int prio) |
ekg_resource_t * | userlist_resource_find (userlist_t *u, const char *name) |
void | userlist_resource_remove (userlist_t *u, ekg_resource_t *r) |
userlist_t * | userlist_add (session_t *session, const char *uid, const char *nickname) |
userlist_t * | userlist_add_u (userlist_t **userlist, const char *uid, const char *nickname) |
int | userlist_remove (session_t *session, userlist_t *u) |
int | userlist_remove_u (userlist_t **userlist, userlist_t *u) |
int | userlist_replace (session_t *session, userlist_t *u) |
userlist_t * | userlist_find (session_t *session, const char *uid) |
userlist_t * | userlist_find_u (userlist_t **userlist, const char *uid) |
int | valid_nick (const char *nick) |
int | valid_uid (const char *uid) |
int | valid_plugin_uid (plugin_t *plugin, const char *uid) |
const char * | get_uid_any (session_t *session, const char *text) |
const char * | get_uid (session_t *session, const char *text) |
const char * | get_nickname (session_t *session, const char *text) |
char * | get_user_name (userlist_t *u) |
const char * | format_user (session_t *session, const char *uid) |
int | ignored_remove (session_t *session, const char *uid) |
int | ignored_add (session_t *session, const char *uid, ignore_t level) |
int | ignored_check (session_t *session, const char *uid) |
int | ignore_flags (const char *str) |
const char * | ignore_format (int level) |
int | ekg_group_add (userlist_t *u, const char *group) |
int | ekg_group_remove (userlist_t *u, const char *group) |
int | ekg_group_member (userlist_t *u, const char *group) |
struct ekg_group * | group_init (const char *names) |
char * | group_to_string (struct ekg_group *groups, int meta, int sep) |
Zmienne | |
struct ignore_label | ignore_labels [9] |
int ekg_group_add | ( | userlist_t * | u, |
const char * | group | ||
) |
dodaje użytkownika do podanej grupy.
u | - wpis usera, |
group | - nazwa grupy. |
int ekg_group_member | ( | userlist_t * | u, |
const char * | group | ||
) |
sprawdza czy użytkownik jest członkiem danej grupy.
u | - uzytkownik, ktorego chcemy sprawdzic |
group | - grupa ktora chcemy sprawdzic |
int ekg_group_remove | ( | userlist_t * | u, |
const char * | group | ||
) |
usuwa użytkownika z podanej grupy.
u | - wpis usera, |
group | - nazwa grupy. |
|
static |
|
static |
|
static |
|
static |
|
static |
const char* format_user | ( | session_t * | session, |
const char * | uid | ||
) |
const char* get_nickname | ( | session_t * | session, |
const char * | text | ||
) |
const char* get_uid | ( | session_t * | session, |
const char * | text | ||
) |
Return and checks if uid passed text is proper for session or it's nickname of smb on session userlist.
userlist_find(s, get_uid(s, target))
return the same as userlist_find(s, target)
userlist_find(s, get_uid(s, get_uid(s, get_uid(s, target))))
won't helpsession | - 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. |
const char* get_uid_any | ( | session_t * | session, |
const char * | text | ||
) |
Return and checks if uid passed text is proper for at least one session, or it's nickname of smb on session userlist
session | - session to search for item on userlist |
text | - uid to check for, if '$' then check current window. |
char* get_user_name | ( | userlist_t * | u | ) |
static struct ekg_group * group_init | ( | const char * | names | ) |
inicjuje listę grup użytkownika na podstawie danego ciągu znaków, w którym kolejne nazwy grup są rozdzielone przecinkiem.
names | - nazwy grup. |
|
static |
char* group_to_string | ( | struct ekg_group * | groups, |
int | meta, | ||
int | sep | ||
) |
zmienia listę grup na ciąg znaków rodzielony przecinkami.
groups | - lista grup. |
meta | - czy dołączyć ,,meta-grupy''? |
sep | - czy oddzielać przecinkiem i spacją? |
int ignore_flags | ( | const char * | str | ) |
zamienia łańcuch znaków na odpowiedni poziom ignorowania w postaci liczby.
str |
const char* ignore_format | ( | int | level | ) |
zwraca statyczny łańcuch znaków reprezentujący dany poziom ignorowania.
level | - poziom ignorowania, bitmaska z `enum ignore_t' |
ignore_labels
int ignored_check | ( | session_t * | session, |
const char * | uid | ||
) |
czy dany numerek znajduje się na liście ignorowanych.
session | - sesja w ktorej mamy szukac uzytkownika |
uid | - uid uzytkownika |
int ignored_remove | ( | session_t * | session, |
const char * | uid | ||
) |
|
static |
userlist_t* userlist_add | ( | session_t * | session, |
const char * | uid, | ||
const char * | nickname | ||
) |
void userlist_add_entry | ( | session_t * | session, |
const char * | line | ||
) |
userlist_t* userlist_add_u | ( | userlist_t ** | userlist, |
const char * | uid, | ||
const char * | nickname | ||
) |
void userlist_clear_status | ( | session_t * | session, |
const char * | uid | ||
) |
If uin == NULL then it clears all users presence information in the session userlist otherwise it clears only specified user It's useful if user goes notavail, or we goes disconnected..
However if that happen you shouldn't use this function but emit query PROTOCOL_STATUS or PROTOCOL_DISCONNECTED
session | |
uid |
|
static |
userlist_t* userlist_find | ( | session_t * | session, |
const char * | uid | ||
) |
userlist_t* userlist_find_u | ( | userlist_t ** | userlist, |
const char * | uid | ||
) |
void userlist_free | ( | session_t * | session | ) |
|
static |
|
static |
void* userlist_private_get | ( | plugin_t * | plugin, |
userlist_t * | u | ||
) |
int userlist_read | ( | session_t * | session | ) |
wczytuje listę kontaktów z pliku uid_sesji-userlist w postaci eksportu tekstowego listy kontaktów windzianego klienta.
session |
int userlist_remove | ( | session_t * | session, |
userlist_t * | u | ||
) |
int userlist_remove_u | ( | userlist_t ** | userlist, |
userlist_t * | u | ||
) |
int userlist_replace | ( | session_t * | session, |
userlist_t * | u | ||
) |
ekg_resource_t* userlist_resource_add | ( | userlist_t * | u, |
const char * | name, | ||
int | prio | ||
) |
It adds new user resource to resources list, with given data.
u | - user |
name | - name of resource |
prio | - prio of resource |
|
static |
ekg_resource_t* userlist_resource_find | ( | userlist_t * | u, |
const char * | name | ||
) |
It search for given resource name in user resource list u
u | - user |
name | - name of resource |
void userlist_resource_remove | ( | userlist_t * | u, |
ekg_resource_t * | r | ||
) |
Remove given resource r from user resource list u
Free allocated memory.
u | - user |
r | - resource |
void userlist_write | ( | session_t * | session | ) |
It writes session userlist to file: session->uid-userlist in ekg2 config directory
session |
|
static |
void userlists_destroy | ( | userlist_t ** | lista | ) |
void userlists_remove | ( | userlist_t ** | lista, |
userlist_t * | elem | ||
) |
int valid_nick | ( | const char * | nick | ) |
int valid_plugin_uid | ( | plugin_t * | plugin, |
const char * | uid | ||
) |
Check if uid can be handled by given plugin
plugin | - plugin to check for |
uid | - uid to check for |
int valid_uid | ( | const char * | uid | ) |
Check if uid can be handled by any plugin
uid | - uid to check for |
struct ignore_label ignore_labels[9] |