#ifndef __LINUX_NET_AFUNIX_H #define __LINUX_NET_AFUNIX_H #include <linux/socket.h> #include <linux/un.h> #include <linux/mutex.h> #include <net/sock.h> void unix_inflight(struct user_struct *user, struct file *fp); void unix_notinflight(struct user_struct *user, struct file *fp); void unix_gc(void); void wait_for_unix_gc(void); struct sock *unix_get_socket(struct file *filp); struct sock *unix_peer_get(struct sock *); #define UNIX_HASH_SIZE 256 #define UNIX_HASH_BITS 8 extern unsigned int unix_tot_inflight; extern spinlock_t unix_table_lock; extern struct hlist_head unix_socket_table[2 * UNIX_HASH_SIZE]; struct unix_address { atomic_t refcnt; int len; unsigned int hash; struct sockaddr_un name[0]; }; struct unix_skb_parms { struct pid *pid; /* Skb credentials */ kuid_t uid; kgid_t gid; struct scm_fp_list *fp; /* Passed files */ #ifdef CONFIG_SECURITY_NETWORK u32 secid; /* Security ID */ #endif u32 consumed; }; #define UNIXCB(skb) (*(struct unix_skb_parms *)&((skb)->cb)) #define unix_state_lock(s) spin_lock(&unix_sk(s)->lock) #define unix_state_unlock(s) spin_unlock(&unix_sk(s)->lock) #define unix_state_lock_nested(s) \ spin_lock_nested(&unix_sk(s)->lock, \ SINGLE_DEPTH_NESTING) /* The AF_UNIX socket */ struct unix_sock { /* WARNING: sk has to be the first member */ struct sock sk; struct unix_address *addr; struct path path; struct mutex iolock, bindlock; struct sock *peer; struct list_head link; atomic_long_t inflight; spinlock_t lock; unsigned char recursion_level; unsigned long gc_flags; #define UNIX_GC_CANDIDATE 0 #define UNIX_GC_MAYBE_CYCLE 1 struct socket_wq peer_wq; wait_queue_t peer_wake; }; static inline struct unix_sock *unix_sk(const struct sock *sk) { return (struct unix_sock *)sk; } #define peer_wait peer_wq.wait long unix_inq_len(struct sock *sk); long unix_outq_len(struct sock *sk); #ifdef CONFIG_SYSCTL int unix_sysctl_register(struct net *net); void unix_sysctl_unregister(struct net *net); #else static inline int unix_sysctl_register(struct net *net) { return 0; } static inline void unix_sysctl_unregister(struct net *net) {} #endif #endif .cgi/linux/net-next.git/diff/include/clocksource/timer-sp804.h?id=298a2d87518ec01bb36070fafe31da7746556db0&id2=966d2b04e070bc040319aaebfec09e0144dc3341'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/include/clocksource/timer-sp804.h'> <input type='hidden' name='id' value='298a2d87518ec01bb36070fafe31da7746556db0'/><input type='hidden' name='id2' value='966d2b04e070bc040319aaebfec09e0144dc3341'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/diff/?id=298a2d87518ec01bb36070fafe31da7746556db0&id2=966d2b04e070bc040319aaebfec09e0144dc3341'>root</a>/<a href='/cgit.cgi/linux/net-next.git/diff/include?id=298a2d87518ec01bb36070fafe31da7746556db0&id2=966d2b04e070bc040319aaebfec09e0144dc3341'>include</a>/<a href='/cgit.cgi/linux/net-next.git/diff/include/clocksource?id=298a2d87518ec01bb36070fafe31da7746556db0&id2=966d2b04e070bc040319aaebfec09e0144dc3341'>clocksource</a>/<a href='/cgit.cgi/linux/net-next.git/diff/include/clocksource/timer-sp804.h?id=298a2d87518ec01bb36070fafe31da7746556db0&id2=966d2b04e070bc040319aaebfec09e0144dc3341'>timer-sp804.h</a></div><div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='id' value='298a2d87518ec01bb36070fafe31da7746556db0'/><input type='hidden' name='id2' value='966d2b04e070bc040319aaebfec09e0144dc3341'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><div class='diffstat-header'><a href='/cgit.cgi/linux/net-next.git/diff/?id=298a2d87518ec01bb36070fafe31da7746556db0&id2=966d2b04e070bc040319aaebfec09e0144dc3341'>Diffstat</a> (limited to 'include/clocksource/timer-sp804.h')</div><table summary='diffstat' class='diffstat'>