#include <sys/types.h> #include <sys/stat.h> #include <unistd.h> /* From include/linux/stat.h */ #ifndef S_IRWXUGO #define S_IRWXUGO (S_IRWXU|S_IRWXG|S_IRWXO) #endif #ifndef S_IALLUGO #define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO) #endif #ifndef S_IRUGO #define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH) #endif #ifndef S_IWUGO #define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH) #endif #ifndef S_IXUGO #define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH) #endif static size_t syscall_arg__scnprintf_mode_t(char *bf, size_t size, struct syscall_arg *arg) { int printed = 0, mode = arg->val; #define P_MODE(n) \ if ((mode & S_##n) == S_##n) { \ printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "|" : "", #n); \ mode &= ~S_##n; \ } P_MODE(IALLUGO); P_MODE(IRWXUGO); P_MODE(IRUGO); P_MODE(IWUGO); P_MODE(IXUGO); P_MODE(IFMT); P_MODE(IFSOCK); P_MODE(IFLNK); P_MODE(IFREG); P_MODE(IFBLK); P_MODE(IFDIR); P_MODE(IFCHR); P_MODE(IFIFO); P_MODE(ISUID); P_MODE(ISGID); P_MODE(ISVTX); P_MODE(IRWXU); P_MODE(IRUSR); P_MODE(IWUSR); P_MODE(IXUSR); P_MODE(IRWXG); P_MODE(IRGRP); P_MODE(IWGRP); P_MODE(IXGRP); P_MODE(IRWXO); P_MODE(IROTH); P_MODE(IWOTH); P_MODE(IXOTH); #undef P_MODE if (mode) printed += scnprintf(bf + printed, size - printed, "%s%#x", printed ? "|" : "", mode); return printed; } #define SCA_MODE_T syscall_arg__scnprintf_mode_t e='switch'/></form></td></tr> <tr><td class='sub'>net-next plumbings</td><td class='sub right'>Tobias Klauser</td></tr></table> <table class='tabs'><tr><td> <a href='/cgit.cgi/linux/net-next.git/'>summary</a><a href='/cgit.cgi/linux/net-next.git/refs/?id=316d4d78cf9b6795b83f97c45368748741df418c'>refs</a><a class='active' href='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs/ab8500-codec.c?showmsg=1'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/sound/soc/codecs/ab8500-codec.c?id=316d4d78cf9b6795b83f97c45368748741df418c'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/sound/soc/codecs/ab8500-codec.c?id=316d4d78cf9b6795b83f97c45368748741df418c'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/sound/soc/codecs/ab8500-codec.c?id=316d4d78cf9b6795b83f97c45368748741df418c'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs/ab8500-codec.c'> <input type='hidden' name='id' value='316d4d78cf9b6795b83f97c45368748741df418c'/><input type='hidden' name='showmsg' value='1'/><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/log/?id=316d4d78cf9b6795b83f97c45368748741df418c&showmsg=1'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/sound?id=316d4d78cf9b6795b83f97c45368748741df418c&showmsg=1'>sound</a>/<a href='/cgit.cgi/linux/net-next.git/log/sound/soc?id=316d4d78cf9b6795b83f97c45368748741df418c&showmsg=1'>soc</a>/<a href='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs?id=316d4d78cf9b6795b83f97c45368748741df418c&showmsg=1'>codecs</a>/<a href='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs/ab8500-codec.c?id=316d4d78cf9b6795b83f97c45368748741df418c&showmsg=1'>ab8500-codec.c</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs/ab8500-codec.c?id=316d4d78cf9b6795b83f97c45368748741df418c'>Collapse</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>