!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.4.18 (Ubuntu). PHP/7.0.33-0ubuntu0.16.04.16 

uname -a: Linux digifus 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-headers-3.13.0-170/include/net/   drwxr-xr-x
Free 9.68 GB of 29.4 GB (32.94%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     flow.h (5.72 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 *
 *    Generic internet FLOW.
 *
 */

#ifndef _NET_FLOW_H
#define _NET_FLOW_H

#include <linux/socket.h>
#include <linux/in6.h>
#include <linux/atomic.h>

struct flowi_common {
    int    flowic_oif;
    int    flowic_iif;
    __u32    flowic_mark;
    __u8    flowic_tos;
    __u8    flowic_scope;
    __u8    flowic_proto;
    __u8    flowic_flags;
#define FLOWI_FLAG_ANYSRC        0x01
#define FLOWI_FLAG_CAN_SLEEP        0x02
#define FLOWI_FLAG_KNOWN_NH        0x04
    __u32    flowic_secid;
};

union flowi_uli {
    struct {
        __be16    dport;
        __be16    sport;
    } ports;

    struct {
        __u8    type;
        __u8    code;
    } icmpt;

    struct {
        __le16    dport;
        __le16    sport;
    } dnports;

    __be32        spi;
    __be32        gre_key;

    struct {
        __u8    type;
    } mht;
};

struct flowi4 {
    struct flowi_common    __fl_common;
#define flowi4_oif        __fl_common.flowic_oif
#define flowi4_iif        __fl_common.flowic_iif
#define flowi4_mark        __fl_common.flowic_mark
#define flowi4_tos        __fl_common.flowic_tos
#define flowi4_scope        __fl_common.flowic_scope
#define flowi4_proto        __fl_common.flowic_proto
#define flowi4_flags        __fl_common.flowic_flags
#define flowi4_secid        __fl_common.flowic_secid

    /* (saddr,daddr) must be grouped, same order as in IP header */
    __be32            saddr;
    __be32            daddr;

    union flowi_uli        uli;
#define fl4_sport        uli.ports.sport
#define fl4_dport        uli.ports.dport
#define fl4_icmp_type        uli.icmpt.type
#define fl4_icmp_code        uli.icmpt.code
#define fl4_ipsec_spi        uli.spi
#define fl4_mh_type        uli.mht.type
#define fl4_gre_key        uli.gre_key
} __attribute__((__aligned__(BITS_PER_LONG/8)));

static inline void flowi4_init_output(struct flowi4 *fl4, int oif,
                      __u32 mark, __u8 tos, __u8 scope,
                      __u8 proto, __u8 flags,
                      __be32 daddr, __be32 saddr,
                      __be16 dport, __be16 sport)
{
    fl4->flowi4_oif = oif;
    fl4->flowi4_iif = 0;
    fl4->flowi4_mark = mark;
    fl4->flowi4_tos = tos;
    fl4->flowi4_scope = scope;
    fl4->flowi4_proto = proto;
    fl4->flowi4_flags = flags;
    fl4->flowi4_secid = 0;
    fl4->daddr = daddr;
    fl4->saddr = saddr;
    fl4->fl4_dport = dport;
    fl4->fl4_sport = sport;
}

/* Reset some input parameters after previous lookup */
static inline void flowi4_update_output(struct flowi4 *fl4, int oif, __u8 tos,
                    __be32 daddr, __be32 saddr)
{
    fl4->flowi4_oif = oif;
    fl4->flowi4_tos = tos;
    fl4->daddr = daddr;
    fl4->saddr = saddr;
}
                      

struct flowi6 {
    struct flowi_common    __fl_common;
#define flowi6_oif        __fl_common.flowic_oif
#define flowi6_iif        __fl_common.flowic_iif
#define flowi6_mark        __fl_common.flowic_mark
#define flowi6_tos        __fl_common.flowic_tos
#define flowi6_scope        __fl_common.flowic_scope
#define flowi6_proto        __fl_common.flowic_proto
#define flowi6_flags        __fl_common.flowic_flags
#define flowi6_secid        __fl_common.flowic_secid
    struct in6_addr        daddr;
    struct in6_addr        saddr;
    __be32            flowlabel;
    union flowi_uli        uli;
#define fl6_sport        uli.ports.sport
#define fl6_dport        uli.ports.dport
#define fl6_icmp_type        uli.icmpt.type
#define fl6_icmp_code        uli.icmpt.code
#define fl6_ipsec_spi        uli.spi
#define fl6_mh_type        uli.mht.type
#define fl6_gre_key        uli.gre_key
} __attribute__((__aligned__(BITS_PER_LONG/8)));

struct flowidn {
    struct flowi_common    __fl_common;
#define flowidn_oif        __fl_common.flowic_oif
#define flowidn_iif        __fl_common.flowic_iif
#define flowidn_mark        __fl_common.flowic_mark
#define flowidn_scope        __fl_common.flowic_scope
#define flowidn_proto        __fl_common.flowic_proto
#define flowidn_flags        __fl_common.flowic_flags
    __le16            daddr;
    __le16            saddr;
    union flowi_uli        uli;
#define fld_sport        uli.ports.sport
#define fld_dport        uli.ports.dport
} __attribute__((__aligned__(BITS_PER_LONG/8)));

struct flowi {
    union {
        struct flowi_common    __fl_common;
        struct flowi4        ip4;
        struct flowi6        ip6;
        struct flowidn        dn;
    } u;
#define flowi_oif    u.__fl_common.flowic_oif
#define flowi_iif    u.__fl_common.flowic_iif
#define flowi_mark    u.__fl_common.flowic_mark
#define flowi_tos    u.__fl_common.flowic_tos
#define flowi_scope    u.__fl_common.flowic_scope
#define flowi_proto    u.__fl_common.flowic_proto
#define flowi_flags    u.__fl_common.flowic_flags
#define flowi_secid    u.__fl_common.flowic_secid
} __attribute__((__aligned__(BITS_PER_LONG/8)));

static inline struct flowi *flowi4_to_flowi(struct flowi4 *fl4)
{
    return container_of(fl4, struct flowi, u.ip4);
}

static inline struct flowi *flowi6_to_flowi(struct flowi6 *fl6)
{
    return container_of(fl6, struct flowi, u.ip6);
}

static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn)
{
    return container_of(fldn, struct flowi, u.dn);
}

typedef unsigned long flow_compare_t;

static inline size_t flow_key_size(u16 family)
{
    switch (family) {
    case AF_INET:
        BUILD_BUG_ON(sizeof(struct flowi4) % sizeof(flow_compare_t));
        return sizeof(struct flowi4) / sizeof(flow_compare_t);
    case AF_INET6:
        BUILD_BUG_ON(sizeof(struct flowi6) % sizeof(flow_compare_t));
        return sizeof(struct flowi6) / sizeof(flow_compare_t);
    case AF_DECnet:
        BUILD_BUG_ON(sizeof(struct flowidn) % sizeof(flow_compare_t));
        return sizeof(struct flowidn) / sizeof(flow_compare_t);
    }
    return 0;
}

#define FLOW_DIR_IN    0
#define FLOW_DIR_OUT    1
#define FLOW_DIR_FWD    2

struct net;
struct sock;
struct flow_cache_ops;

struct flow_cache_object {
    const struct flow_cache_ops *ops;
};

struct flow_cache_ops {
    struct flow_cache_object *(*get)(struct flow_cache_object *);
    int (*check)(struct flow_cache_object *);
    void (*delete)(struct flow_cache_object *);
};

typedef struct flow_cache_object *(*flow_resolve_t)(
        struct net *net, const struct flowi *key, u16 family,
        u8 dir, struct flow_cache_object *oldobj, void *ctx);

struct flow_cache_object *flow_cache_lookup(struct net *net,
                        const struct flowi *key, u16 family,
                        u8 dir, flow_resolve_t resolver,
                        void *ctx);

void flow_cache_flush(void);
void flow_cache_flush_deferred(void);
extern atomic_t flow_cache_genid;

#endif

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0054 ]--