aboutsummaryrefslogtreecommitdiffstats
path: root/Kbuild
Commit message (Expand)AuthorAge
* kbuild: asm symlink support for arch/$ARCH/includeSam Ravnborg2008-07-25
* Don't clean bounds.h and asm-offsets.hJan Blunck2008-05-19
* pageflags: standardize comment inclusion in asm-offsets.h and fix MIPSChristoph Lameter2008-04-28
* kbuild: create a way to create preprocessor constants from C expressionsChristoph Lameter2008-04-28
* i386/x86_64: move headers to include/asm-x86Thomas Gleixner2007-10-11
* Kbuild: allow arch/xxx to use a different source pathThomas Gleixner2007-10-11
* kbuild: asm-offsets.h is now cleaned with O=.. buildsSam Ravnborg2007-07-16
* kbuild: complain about missing system callsSam Ravnborg2007-05-02
* remove RPM_BUILD_ROOT from asm-offsets.hOlaf Hering2006-09-25
* kbuild: mips: fix sed regexp to generate asm-offset.hAtsushi Nemoto2006-04-05
* kbuild: clean up asm-offsets.h creationBrian Gerst2006-01-08
* kbuild: fix generic asm-offsets.h supportSam Ravnborg2005-09-10
* kbuild: mips use generic asm-offsets.h supportSam Ravnborg2005-09-09
* kbuild: full dependency check on asm-offsets.hSam Ravnborg2005-09-09
cfg) { return __netlink_kernel_create(net, unit, THIS_MODULE, cfg); } extern void netlink_kernel_release(struct sock *sk); extern int __netlink_change_ngroups(struct sock *sk, unsigned int groups); extern int netlink_change_ngroups(struct sock *sk, unsigned int groups); extern void __netlink_clear_multicast_users(struct sock *sk, unsigned int group); extern void netlink_clear_multicast_users(struct sock *sk, unsigned int group); extern void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err); extern int netlink_has_listeners(struct sock *sk, unsigned int group); extern struct sk_buff *netlink_alloc_skb(struct sock *ssk, unsigned int size, u32 dst_portid, gfp_t gfp_mask); extern int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 portid, int nonblock); extern int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 portid, __u32 group, gfp_t allocation); extern int netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, __u32 portid, __u32 group, gfp_t allocation, int (*filter)(struct sock *dsk, struct sk_buff *skb, void *data), void *filter_data); extern int netlink_set_err(struct sock *ssk, __u32 portid, __u32 group, int code); extern int netlink_register_notifier(struct notifier_block *nb); extern int netlink_unregister_notifier(struct notifier_block *nb); /* finegrained unicast helpers: */ struct sock *netlink_getsockbyfilp(struct file *filp); int netlink_attachskb(struct sock *sk, struct sk_buff *skb, long *timeo, struct sock *ssk); void netlink_detachskb(struct sock *sk, struct sk_buff *skb); int netlink_sendskb(struct sock *sk, struct sk_buff *skb); /* * skb should fit one page. This choice is good for headerless malloc. * But we should limit to 8K so that userspace does not have to * use enormous buffer sizes on recvmsg() calls just to avoid * MSG_TRUNC when PAGE_SIZE is very large. */ #if PAGE_SIZE < 8192UL #define NLMSG_GOODSIZE SKB_WITH_OVERHEAD(PAGE_SIZE) #else #define NLMSG_GOODSIZE SKB_WITH_OVERHEAD(8192UL) #endif #define NLMSG_DEFAULT_SIZE (NLMSG_GOODSIZE - NLMSG_HDRLEN) struct netlink_callback { struct sk_buff *skb; const struct nlmsghdr *nlh; int (*dump)(struct sk_buff * skb, struct netlink_callback *cb); int (*done)(struct netlink_callback *cb); void *data; /* the module that dump function belong to */ struct module *module; u16 family; u16 min_dump_alloc; unsigned int prev_seq, seq; long args[6]; }; struct netlink_notify { struct net *net; int portid; int protocol; }; struct nlmsghdr * __nlmsg_put(struct sk_buff *skb, u32 portid, u32 seq, int type, int len, int flags); struct netlink_dump_control { int (*dump)(struct sk_buff *skb, struct netlink_callback *); int (*done)(struct netlink_callback *); void *data; struct module *module; u16 min_dump_alloc; }; extern int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, const struct nlmsghdr *nlh, struct netlink_dump_control *control); static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, const struct nlmsghdr *nlh, struct netlink_dump_control *control) { if (!control->module) control->module = THIS_MODULE; return __netlink_dump_start(ssk, skb, nlh, control); } #endif /* __LINUX_NETLINK_H */