## E2kRestriction (vaporware)

E2kRestriction (vaporware)

## Synopsis

    enum                E2kRestrictionType;
    gboolean            e2k_restriction_extract             (guint8 **data,
                                                             gint *len,
                                                             E2kRestriction **rn);
    void                e2k_restriction_append              (GByteArray *ba,
                                                             E2kRestriction *rn);

## Description

## Details

### enum E2kRestrictionType

    typedef enum {
    	E2K_RESTRICTION_AND		= 0,
    	E2K_RESTRICTION_OR		= 1,
    	E2K_RESTRICTION_NOT		= 2,
    	E2K_RESTRICTION_CONTENT		= 3,
    	E2K_RESTRICTION_PROPERTY = 4,
    	E2K_RESTRICTION_COMPAREPROPS = 5,
    	E2K_RESTRICTION_BITMASK		= 6,
    	E2K_RESTRICTION_SIZE		= 7,
    	E2K_RESTRICTION_EXIST		= 8,
    	E2K_RESTRICTION_SUBRESTRICTION = 9,
    	E2K_RESTRICTION_COMMENT		= 10
    } E2kRestrictionType;

### e2k_restriction_extract ()

    gboolean            e2k_restriction_extract             (guint8 **data,
                                                             gint *len,
                                                             E2kRestriction **rn);

Attempts to extract a restriction from *`data`, which contains a binary-encoded restriction from a server-side rule.

On success, *`rn` will contain the extracted restriction, *`data` will be advanced past the end of the restriction data, and *`len` will be decremented accordingly.

`data` : | pointer to data pointer
`len` : | pointer to data length
`rn` : | pointer to variable to store the extracted restriction in
Returns : | success or failure

### e2k_restriction_append ()

    void                e2k_restriction_append              (GByteArray *ba,
                                                             E2kRestriction *rn);

Appends `rn` to `ba` as part of a server-side rule.

`ba` : | a buffer into which a server-side rule is being constructed
`rn` : | the restriction to append to `ba`