syscalls.c (d2a97485935fce10a5b65f4f10cc161d543d35c9) syscalls.c (27459358ed4d9060525ff02148eba0939ab4dc04)
1/*
2 * Copyright 1997 Sean Eric Fagan
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.

--- 85 unchanged lines hidden (view full) ---

94 .args = { { Ptr, 0 } } },
95 { .name = "cap_fcntls_get", .ret_type = 1, .nargs = 2,
96 .args = { { Int, 0 }, { CapFcntlRights | OUT, 1 } } },
97 { .name = "cap_fcntls_limit", .ret_type = 1, .nargs = 2,
98 .args = { { Int, 0 }, { CapFcntlRights, 1 } } },
99 { .name = "chdir", .ret_type = 1, .nargs = 1,
100 .args = { { Name, 0 } } },
101 { .name = "chflags", .ret_type = 1, .nargs = 2,
1/*
2 * Copyright 1997 Sean Eric Fagan
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.

--- 85 unchanged lines hidden (view full) ---

94 .args = { { Ptr, 0 } } },
95 { .name = "cap_fcntls_get", .ret_type = 1, .nargs = 2,
96 .args = { { Int, 0 }, { CapFcntlRights | OUT, 1 } } },
97 { .name = "cap_fcntls_limit", .ret_type = 1, .nargs = 2,
98 .args = { { Int, 0 }, { CapFcntlRights, 1 } } },
99 { .name = "chdir", .ret_type = 1, .nargs = 1,
100 .args = { { Name, 0 } } },
101 { .name = "chflags", .ret_type = 1, .nargs = 2,
102 .args = { { Name | IN, 0 }, { Hex, 1 } } },
102 .args = { { Name | IN, 0 }, { FileFlags, 1 } } },
103 { .name = "chflagsat", .ret_type = 1, .nargs = 4,
104 .args = { { Atfd, 0 }, { Name | IN, 1 }, { FileFlags, 2 },
105 { Atflags, 3 } } },
103 { .name = "chmod", .ret_type = 1, .nargs = 2,
104 .args = { { Name, 0 }, { Octal, 1 } } },
105 { .name = "chown", .ret_type = 1, .nargs = 3,
106 .args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } },
107 { .name = "chroot", .ret_type = 1, .nargs = 1,
108 .args = { { Name, 0 } } },
109 { .name = "clock_gettime", .ret_type = 1, .nargs = 2,
110 .args = { { Int, 0 }, { Timespec | OUT, 1 } } },

--- 9 unchanged lines hidden (view full) ---

120 { .name = "execve", .ret_type = 1, .nargs = 3,
121 .args = { { Name | IN, 0 }, { ExecArgs | IN, 1 },
122 { ExecEnv | IN, 2 } } },
123 { .name = "exit", .ret_type = 0, .nargs = 1,
124 .args = { { Hex, 0 } } },
125 { .name = "faccessat", .ret_type = 1, .nargs = 4,
126 .args = { { Atfd, 0 }, { Name | IN, 1 }, { Accessmode, 2 },
127 { Atflags, 3 } } },
106 { .name = "chmod", .ret_type = 1, .nargs = 2,
107 .args = { { Name, 0 }, { Octal, 1 } } },
108 { .name = "chown", .ret_type = 1, .nargs = 3,
109 .args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } },
110 { .name = "chroot", .ret_type = 1, .nargs = 1,
111 .args = { { Name, 0 } } },
112 { .name = "clock_gettime", .ret_type = 1, .nargs = 2,
113 .args = { { Int, 0 }, { Timespec | OUT, 1 } } },

--- 9 unchanged lines hidden (view full) ---

123 { .name = "execve", .ret_type = 1, .nargs = 3,
124 .args = { { Name | IN, 0 }, { ExecArgs | IN, 1 },
125 { ExecEnv | IN, 2 } } },
126 { .name = "exit", .ret_type = 0, .nargs = 1,
127 .args = { { Hex, 0 } } },
128 { .name = "faccessat", .ret_type = 1, .nargs = 4,
129 .args = { { Atfd, 0 }, { Name | IN, 1 }, { Accessmode, 2 },
130 { Atflags, 3 } } },
131 { .name = "fchflags", .ret_type = 1, .nargs = 2,
132 .args = { { Int, 0 }, { FileFlags, 1 } } },
128 { .name = "fchmod", .ret_type = 1, .nargs = 2,
129 .args = { { Int, 0 }, { Octal, 1 } } },
130 { .name = "fchmodat", .ret_type = 1, .nargs = 4,
131 .args = { { Atfd, 0 }, { Name, 1 }, { Octal, 2 }, { Atflags, 3 } } },
132 { .name = "fchown", .ret_type = 1, .nargs = 3,
133 .args = { { Int, 0 }, { Int, 1 }, { Int, 2 } } },
134 { .name = "fchownat", .ret_type = 1, .nargs = 5,
135 .args = { { Atfd, 0 }, { Name, 1 }, { Int, 2 }, { Int, 3 },

--- 48 unchanged lines hidden (view full) ---

184 .args = { { Int, 0 } } },
185 { .name = "kldstat", .ret_type = 1, .nargs = 2,
186 .args = { { Int, 0 }, { Ptr, 1 } } },
187 { .name = "kldunload", .ret_type = 1, .nargs = 1,
188 .args = { { Int, 0 } } },
189 { .name = "kse_release", .ret_type = 0, .nargs = 1,
190 .args = { { Timespec, 0 } } },
191 { .name = "lchflags", .ret_type = 1, .nargs = 2,
133 { .name = "fchmod", .ret_type = 1, .nargs = 2,
134 .args = { { Int, 0 }, { Octal, 1 } } },
135 { .name = "fchmodat", .ret_type = 1, .nargs = 4,
136 .args = { { Atfd, 0 }, { Name, 1 }, { Octal, 2 }, { Atflags, 3 } } },
137 { .name = "fchown", .ret_type = 1, .nargs = 3,
138 .args = { { Int, 0 }, { Int, 1 }, { Int, 2 } } },
139 { .name = "fchownat", .ret_type = 1, .nargs = 5,
140 .args = { { Atfd, 0 }, { Name, 1 }, { Int, 2 }, { Int, 3 },

--- 48 unchanged lines hidden (view full) ---

189 .args = { { Int, 0 } } },
190 { .name = "kldstat", .ret_type = 1, .nargs = 2,
191 .args = { { Int, 0 }, { Ptr, 1 } } },
192 { .name = "kldunload", .ret_type = 1, .nargs = 1,
193 .args = { { Int, 0 } } },
194 { .name = "kse_release", .ret_type = 0, .nargs = 1,
195 .args = { { Timespec, 0 } } },
196 { .name = "lchflags", .ret_type = 1, .nargs = 2,
192 .args = { { Name | IN, 0 }, { Hex, 1 } } },
197 .args = { { Name | IN, 0 }, { FileFlags, 1 } } },
193 { .name = "lchmod", .ret_type = 1, .nargs = 2,
194 .args = { { Name, 0 }, { Octal, 1 } } },
195 { .name = "lchown", .ret_type = 1, .nargs = 3,
196 .args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } },
197 { .name = "link", .ret_type = 1, .nargs = 2,
198 .args = { { Name, 0 }, { Name, 1 } } },
199 { .name = "linkat", .ret_type = 1, .nargs = 5,
200 .args = { { Atfd, 0 }, { Name, 1 }, { Atfd, 2 }, { Name, 3 },

--- 1662 unchanged lines hidden (view full) ---

1863 } else
1864 rights = args[sc->offset];
1865 print_mask_arg32(sysdecode_cap_fcntlrights, fp, rights);
1866 break;
1867 }
1868 case Fadvice:
1869 print_integer_arg(sysdecode_fadvice, fp, args[sc->offset]);
1870 break;
198 { .name = "lchmod", .ret_type = 1, .nargs = 2,
199 .args = { { Name, 0 }, { Octal, 1 } } },
200 { .name = "lchown", .ret_type = 1, .nargs = 3,
201 .args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } },
202 { .name = "link", .ret_type = 1, .nargs = 2,
203 .args = { { Name, 0 }, { Name, 1 } } },
204 { .name = "linkat", .ret_type = 1, .nargs = 5,
205 .args = { { Atfd, 0 }, { Name, 1 }, { Atfd, 2 }, { Name, 3 },

--- 1662 unchanged lines hidden (view full) ---

1868 } else
1869 rights = args[sc->offset];
1870 print_mask_arg32(sysdecode_cap_fcntlrights, fp, rights);
1871 break;
1872 }
1873 case Fadvice:
1874 print_integer_arg(sysdecode_fadvice, fp, args[sc->offset]);
1875 break;
1876 case FileFlags: {
1877 fflags_t rem;
1871
1878
1879 if (!sysdecode_fileflags(fp, args[sc->offset], &rem))
1880 fprintf(fp, "0x%x", rem);
1881 else if (rem != 0)
1882 fprintf(fp, "|0x%x", rem);
1883 break;
1884 }
1885
1872 case CloudABIAdvice:
1873 fputs(xlookup(cloudabi_advice, args[sc->offset]), fp);
1874 break;
1875 case CloudABIClockID:
1876 fputs(xlookup(cloudabi_clockid, args[sc->offset]), fp);
1877 break;
1878 case ClouduABIFDSFlags:
1879 fputs(xlookup_bits(cloudabi_fdsflags, args[sc->offset]), fp);

--- 205 unchanged lines hidden ---
1886 case CloudABIAdvice:
1887 fputs(xlookup(cloudabi_advice, args[sc->offset]), fp);
1888 break;
1889 case CloudABIClockID:
1890 fputs(xlookup(cloudabi_clockid, args[sc->offset]), fp);
1891 break;
1892 case ClouduABIFDSFlags:
1893 fputs(xlookup_bits(cloudabi_fdsflags, args[sc->offset]), fp);

--- 205 unchanged lines hidden ---