1*a71a9546SAutomerger Merge Worker #ifndef _LIBXTC_SHARED_H 2*a71a9546SAutomerger Merge Worker #define _LIBXTC_SHARED_H 1 3*a71a9546SAutomerger Merge Worker 4*a71a9546SAutomerger Merge Worker typedef char xt_chainlabel[32]; 5*a71a9546SAutomerger Merge Worker struct xtc_handle; 6*a71a9546SAutomerger Merge Worker struct xt_counters; 7*a71a9546SAutomerger Merge Worker 8*a71a9546SAutomerger Merge Worker struct xtc_ops { 9*a71a9546SAutomerger Merge Worker int (*commit)(struct xtc_handle *); 10*a71a9546SAutomerger Merge Worker struct xtc_handle *(*init)(const char *); 11*a71a9546SAutomerger Merge Worker void (*free)(struct xtc_handle *); 12*a71a9546SAutomerger Merge Worker int (*builtin)(const char *, struct xtc_handle *const); 13*a71a9546SAutomerger Merge Worker int (*is_chain)(const char *, struct xtc_handle *const); 14*a71a9546SAutomerger Merge Worker int (*flush_entries)(const xt_chainlabel, struct xtc_handle *); 15*a71a9546SAutomerger Merge Worker int (*create_chain)(const xt_chainlabel, struct xtc_handle *); 16*a71a9546SAutomerger Merge Worker const char *(*first_chain)(struct xtc_handle *); 17*a71a9546SAutomerger Merge Worker const char *(*next_chain)(struct xtc_handle *); 18*a71a9546SAutomerger Merge Worker const char *(*get_policy)(const char *, struct xt_counters *, 19*a71a9546SAutomerger Merge Worker struct xtc_handle *); 20*a71a9546SAutomerger Merge Worker int (*set_policy)(const xt_chainlabel, const xt_chainlabel, 21*a71a9546SAutomerger Merge Worker struct xt_counters *, struct xtc_handle *); 22*a71a9546SAutomerger Merge Worker const char *(*strerror)(int); 23*a71a9546SAutomerger Merge Worker }; 24*a71a9546SAutomerger Merge Worker 25*a71a9546SAutomerger Merge Worker #endif /* _LIBXTC_SHARED_H */ 26