vlc_acl.h File Reference

Include dependency graph for vlc_acl.h:

Go to the source code of this file.

Defines

#define ACL_Create(a, b)   __ACL_Create(VLC_OBJECT(a), b)
#define ACL_Duplicate(a, b)   __ACL_Duplicate(VLC_OBJECT(a),b)
#define ACL_AddHost(a, b, c)   ACL_AddNet(a,b,-1,c)

Functions

int ACL_Check (vlc_acl_t *p_acl, const char *psz_ip)
 Check if a given address passes an access control list.
vlc_acl_t__ACL_Create (vlc_object_t *p_this, bool b_allow)
 Creates an empty ACL.
vlc_acl_t__ACL_Duplicate (vlc_object_t *p_this, const vlc_acl_t *p_acl)
 Perform a deep copy of an existing ACL.
void ACL_Destroy (vlc_acl_t *p_acl)
 Releases all resources associated with an ACL object.
int ACL_AddNet (vlc_acl_t *p_acl, const char *psz_ip, int i_len, bool b_allow)
 Adds an item to an ACL.
int ACL_LoadFile (vlc_acl_t *p_acl, const char *path)
 Reads ACL entries from a file.


Define Documentation

#define ACL_AddHost ( a,
b,
 )     ACL_AddNet(a,b,-1,c)

#define ACL_Create ( a,
 )     __ACL_Create(VLC_OBJECT(a), b)

#define ACL_Duplicate ( a,
 )     __ACL_Duplicate(VLC_OBJECT(a),b)

Referenced by vlclua_acl_duplicate().


Function Documentation

vlc_acl_t* __ACL_Create ( vlc_object_t p_this,
bool  b_allow 
)

Creates an empty ACL.

Parameters:
b_allow whether to grant (true) or deny (false) access by default (ie if none of the ACL entries matched).
Returns:
an ACL object. NULL in case of error.

References vlc_acl_t::b_allow_default, vlc_acl_t::i_size, vlc_acl_t::p_entries, vlc_acl_t::p_owner, and vlc_object_hold.

vlc_acl_t* __ACL_Duplicate ( vlc_object_t p_this,
const vlc_acl_t p_acl 
)

Perform a deep copy of an existing ACL.

Parameters:
p_this object to attach the copy to.
p_acl ACL object to be copied.
Returns:
a new ACL object, or NULL on error.

References vlc_acl_t::b_allow_default, vlc_acl_t::i_size, vlc_acl_t::p_entries, vlc_acl_t::p_owner, and vlc_object_hold.

int ACL_AddNet ( vlc_acl_t p_acl,
const char *  psz_ip,
int  i_len,
bool  b_allow 
)

int ACL_Check ( vlc_acl_t p_acl,
const char *  psz_ip 
)

Check if a given address passes an access control list.

Parameters:
p_acl pre-existing ACL to match the address against
psz_ip numeric IPv4/IPv6 address
Returns:
0 if the first matching ACL entry is an access grant, 1 if the first matching ACL entry is a denial of access, -1 on error.

References ACL_Resolve(), vlc_acl_entry_t::b_allow, vlc_acl_t::b_allow_default, vlc_acl_entry_t::host, i, vlc_acl_entry_t::i_bits_mask, vlc_acl_entry_t::i_bytes_match, vlc_acl_t::i_size, vlc_acl_t::p_entries, and vlc_acl_t::p_owner.

Referenced by vlclua_acl_check().

void ACL_Destroy ( vlc_acl_t p_acl  ) 

Releases all resources associated with an ACL object.

References vlc_acl_t::p_entries, vlc_acl_t::p_owner, and vlc_object_release.

Referenced by ParseDirectory(), and vlclua_acl_delete().

int ACL_LoadFile ( vlc_acl_t p_acl,
const char *  psz_path 
)

Reads ACL entries from a file.

Parameters:
p_acl ACL object in which to insert parsed entries.
psz_patch filename from which to parse entries.
Returns:
0 on success, -1 on error.

References ACL_AddHost, ACL_AddNet(), gen_builder::line, msg_Dbg, msg_Err, msg_Warn, vlc_acl_t::p_owner, and utf8_fopen().

Referenced by ParseDirectory(), and vlclua_acl_load_file().


Generated on Sat Nov 21 08:05:26 2009 for VLC by  doxygen 1.5.6