1/* Basic ioctl scalar tests. */ 2 3#define __EXTENSIONS__ 1 4 5#include "scalar.h" 6 7#include <net/if.h> 8#include <sys/crypto/ioctl.h> 9#include <sys/dditypes.h> 10#include <sys/devinfo_impl.h> 11#include <sys/dtrace.h> 12#include <sys/filio.h> 13#include <sys/stat.h> /* for _ST_FSTYPSZ */ 14#include <sys/mntio.h> 15#include <sys/mnttab.h> 16#include <sys/pool_impl.h> 17#include <sys/sockio.h> 18#include <sys/stropts.h> 19#include <sys/termios.h> 20 21/* pools */ 22__attribute__((noinline)) 23static void sys_ioctl_POOL_STATUSQ(void) 24{ 25 GO(SYS_ioctl, "(POOL_STATUSQ) 3s 1m"); 26 SY(SYS_ioctl, x0 - 1, x0 + POOL_STATUSQ, x0); FAIL; 27} 28 29/* mntio */ 30__attribute__((noinline)) 31static void sys_ioctl_MNTIOC_GETEXTMNTENT(void) 32{ 33 GO(SYS_ioctl, "(MNTIOC_GETEXTMNTENT) 3s 1m"); 34 SY(SYS_ioctl, x0 - 1, x0 + MNTIOC_GETEXTMNTENT, x0 + 1); FAIL; 35} 36 37__attribute__((noinline)) 38static void sys_ioctl_MNTIOC_GETEXTMNTENT_2(void) 39{ 40 struct mntentbuf embuf; 41 42 embuf.mbuf_emp = (void *) (x0 + 1); 43 embuf.mbuf_buf = (void *) (x0 + 1); 44 embuf.mbuf_bufsize = x0 + 1; 45 46 GO(SYS_ioctl, "(MNTIOC_GETEXTMNTENT) 4s 2m"); 47 SY(SYS_ioctl, x0 - 1, x0 + MNTIOC_GETEXTMNTENT, &embuf + x0); FAIL; 48} 49 50__attribute__((noinline)) 51static void sys_ioctl_MNTIOC_GETEXTMNTENT_3(void) 52{ 53 struct extmnttab mnt; 54 struct mntentbuf embuf; 55 56 mnt.mnt_special = (void *) (x0 + 1); 57 mnt.mnt_mountp = (void *) (x0 + 1); 58 mnt.mnt_fstype = (void *) (x0 + 1); 59 mnt.mnt_mntopts = (void *) (x0 + 1); 60 mnt.mnt_time = (void *) (x0 + 1); 61 62 embuf.mbuf_emp = x0 + &mnt; 63 embuf.mbuf_buf = (void *) (x0 + 1); 64 embuf.mbuf_bufsize = x0 + 1; 65 66 GO(SYS_ioctl, "(MNTIOC_GETEXTMNTENT) 5s 6m"); 67 SY(SYS_ioctl, x0 - 1, x0 + MNTIOC_GETEXTMNTENT, &embuf + x0); FAIL; 68} 69 70__attribute__((noinline)) 71static void sys_ioctl_MNTIOC_GETMNTANY(void) 72{ 73 GO(SYS_ioctl, "(MNTIOC_GETMNTANY) 3s 1m"); 74 SY(SYS_ioctl, x0 - 1, x0 + MNTIOC_GETMNTANY, x0 + 1); FAIL; 75} 76 77__attribute__((noinline)) 78static void sys_ioctl_MNTIOC_GETMNTANY_2(void) 79{ 80 struct mntentbuf embuf; 81 82 embuf.mbuf_emp = (void *) (x0 + 1); 83 embuf.mbuf_buf = (void *) (x0 + 1); 84 embuf.mbuf_bufsize = x0 + 1; 85 86 GO(SYS_ioctl, "(MNTIOC_GETMNTANY) 4s 2m"); 87 SY(SYS_ioctl, x0 - 1, x0 + MNTIOC_GETMNTANY, &embuf + x0); FAIL; 88} 89 90__attribute__((noinline)) 91static void sys_ioctl_MNTIOC_GETMNTANY_3(void) 92{ 93 struct mnttab mnt; 94 struct mntentbuf embuf; 95 96 mnt.mnt_special = (void *) (x0 + 1); 97 mnt.mnt_mountp = (void *) (x0 + 1); 98 mnt.mnt_fstype = (void *) (x0 + 1); 99 mnt.mnt_mntopts = (void *) (x0 + 1); 100 mnt.mnt_time = (void *) (x0 + 1); 101 102 embuf.mbuf_emp = x0 + (struct extmnttab *) &mnt; 103 embuf.mbuf_buf = (void *) (x0 + 1); 104 embuf.mbuf_bufsize = x0 + 1; 105 106 GO(SYS_ioctl, "(MNTIOC_GETMNTANY) 5s 6m"); 107 SY(SYS_ioctl, x0 - 1, x0 + MNTIOC_GETMNTANY, &embuf + x0); FAIL; 108} 109 110/* termio/termios */ 111__attribute__((noinline)) 112static void sys_ioctl_TCGETA(void) 113{ 114 GO(SYS_ioctl, "(TCGETA) 3s 1m"); 115 SY(SYS_ioctl, x0 - 1, x0 + TCGETA, x0); FAIL; 116} 117 118__attribute__((noinline)) 119static void sys_ioctl_TCGETS(void) 120{ 121 GO(SYS_ioctl, "(TCGETS) 3s 1m"); 122 SY(SYS_ioctl, x0 - 1, x0 + TCGETS, x0); FAIL; 123} 124 125__attribute__((noinline)) 126static void sys_ioctl_TCSETS(void) 127{ 128 GO(SYS_ioctl, "(TCSETS) 3s 1m"); 129 SY(SYS_ioctl, x0 - 1, x0 + TCSETS, x0); FAIL; 130} 131 132__attribute__((noinline)) 133static void sys_ioctl_TCSETSW(void) 134{ 135 GO(SYS_ioctl, "(TCSETSW) 3s 1m"); 136 SY(SYS_ioctl, x0 - 1, x0 + TCSETSW, x0); FAIL; 137} 138 139__attribute__((noinline)) 140static void sys_ioctl_TCSETSF(void) 141{ 142 GO(SYS_ioctl, "(TCSETSF) 3s 1m"); 143 SY(SYS_ioctl, x0 - 1, x0 + TCSETSF, x0); FAIL; 144} 145 146__attribute__((noinline)) 147static void sys_ioctl_TIOCGWINSZ(void) 148{ 149 GO(SYS_ioctl, "(TIOCGWINSZ) 3s 1m"); 150 SY(SYS_ioctl, x0 - 1, x0 + TIOCGWINSZ, x0); FAIL; 151} 152 153__attribute__((noinline)) 154static void sys_ioctl_TIOCSWINSZ(void) 155{ 156 GO(SYS_ioctl, "(TIOCSWINSZ) 3s 1m"); 157 SY(SYS_ioctl, x0 - 1, x0 + TIOCSWINSZ, x0); FAIL; 158} 159 160__attribute__((noinline)) 161static void sys_ioctl_TIOCGPGRP(void) 162{ 163 GO(SYS_ioctl, "(TIOCGPGRP) 3s 1m"); 164 SY(SYS_ioctl, x0 - 1, x0 + TIOCGPGRP, x0); FAIL; 165} 166 167__attribute__((noinline)) 168static void sys_ioctl_TIOCSPGRP(void) 169{ 170 GO(SYS_ioctl, "(TIOCSPGRP) 3s 1m"); 171 SY(SYS_ioctl, x0 - 1, x0 + TIOCSPGRP, x0); FAIL; 172} 173 174__attribute__((noinline)) 175static void sys_ioctl_TIOCGSID(void) 176{ 177 GO(SYS_ioctl, "(TIOCGSID) 3s 1m"); 178 SY(SYS_ioctl, x0 - 1, x0 + TIOCGSID, x0); FAIL; 179} 180 181__attribute__((noinline)) 182static void sys_ioctl_TIOCNOTTY(void) 183{ 184 GO(SYS_ioctl, "(TIOCNOTTY) 2s 0m"); 185 SY(SYS_ioctl, x0 - 1, x0 + TIOCNOTTY); FAIL; 186} 187 188__attribute__((noinline)) 189static void sys_ioctl_TIOCSCTTY(void) 190{ 191 GO(SYS_ioctl, "(TIOCSCTTY) 2s 0m"); 192 SY(SYS_ioctl, x0 - 1, x0 + TIOCSCTTY); FAIL; 193} 194 195/* STREAMS */ 196__attribute__((noinline)) 197static void sys_ioctl_I_PUSH(void) 198{ 199 GO(SYS_ioctl, "(I_PUSH) 3s 1m"); 200 SY(SYS_ioctl, x0 - 1, x0 + I_PUSH, x0 + 1); FAIL; 201} 202 203__attribute__((noinline)) 204static void sys_ioctl_I_FLUSH(void) 205{ 206 GO(SYS_ioctl, "(I_FLUSH) 3s 0m"); 207 SY(SYS_ioctl, x0 - 1, x0 + I_FLUSH, x0 + FLUSHR); FAIL; 208} 209 210__attribute__((noinline)) 211static void sys_ioctl_I_STR(void) 212{ 213 GO(SYS_ioctl, "(I_STR) 3s 1m"); 214 SY(SYS_ioctl, x0 - 1, x0 + I_STR, x0 + 1); FAIL; 215} 216 217__attribute__((noinline)) 218static void sys_ioctl_I_STR_2(void) 219{ 220 struct strioctl str; 221 222 str.ic_cmd = x0; 223 str.ic_timout = x0; 224 str.ic_len = x0 + 1; 225 str.ic_dp = (void *) (x0 + 1); 226 227 GO(SYS_ioctl, "(I_STR) 4s 1m"); 228 SY(SYS_ioctl, x0 - 1, x0 + I_STR, &str + x0); FAIL; 229} 230 231__attribute__((noinline)) 232static void sys_ioctl_I_FIND(void) 233{ 234 GO(SYS_ioctl, "(I_FIND) 3s 1m"); 235 SY(SYS_ioctl, x0 - 1, x0 + I_FIND, x0 + 1); FAIL; 236} 237 238__attribute__((noinline)) 239static void sys_ioctl_I_PEEK(void) 240{ 241 GO(SYS_ioctl, "(I_PEEK) 3s 7m"); 242 SY(SYS_ioctl, x0 - 1, x0 + I_PEEK, x0 + 1); FAIL; 243} 244 245__attribute__((noinline)) 246static void sys_ioctl_I_PEEK_2(void) 247{ 248 struct strpeek peek; 249 250 peek.ctlbuf.maxlen = x0 + 1; 251 peek.ctlbuf.len = x0; 252 peek.ctlbuf.buf = (void*)(x0 + 1); 253 peek.databuf.maxlen = x0 + 1; 254 peek.databuf.len = x0; 255 peek.databuf.buf = (void*)(x0 + 1); 256 peek.flags = x0; 257 258 GO(SYS_ioctl, "(I_PEEK) 3s 7m"); 259 SY(SYS_ioctl, x0 - 1, x0 + I_PEEK, &peek + x0); FAIL; 260} 261 262__attribute__((noinline)) 263static void sys_ioctl_I_CANPUT(void) 264{ 265 GO(SYS_ioctl, "(I_CANPUT) 3s 0m"); 266 SY(SYS_ioctl, x0 - 1, x0 + I_CANPUT, x0); FAIL; 267} 268 269/* sockio */ 270__attribute__((noinline)) 271static void sys_ioctl_SIOCGIFCONF(void) 272{ 273 GO(SYS_ioctl, "(SIOCGIFCONF), 3s 2m"); 274 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFCONF, x0 - 1); FAIL; 275} 276 277__attribute__((noinline)) 278static void sys_ioctl_SIOCGIFCONF_2(void) 279{ 280 struct ifconf ifc; 281 char buf[] = ""; 282 283 ifc.ifc_len = x0 + 1; 284 ifc.ifc_buf = (void *) (x0 + buf); 285 286 GO(SYS_ioctl, "(SIOCGIFCONF), 5s 0m"); 287 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFCONF, &ifc + x0); FAIL; 288} 289 290__attribute__((noinline)) 291static void sys_ioctl_SIOCGIFFLAGS(void) 292{ 293 GO(SYS_ioctl, "(SIOCGIFFLAGS) 3s 2m"); 294 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFFLAGS, x0 - 1); FAIL; 295} 296 297__attribute__((noinline)) 298static void sys_ioctl_SIOCGIFFLAGS_2(void) 299{ 300 struct ifreq ifr; 301 302 ifr.ifr_name[0] = x0 + 'l'; 303 ifr.ifr_name[1] = x0 + 'o'; 304 ifr.ifr_name[2] = x0 + '0'; 305 ifr.ifr_name[3] = x0 + '\0'; 306 307 GO(SYS_ioctl, "(SIOCGIFFLAGS), 4s 0m"); 308 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFFLAGS, &ifr + x0); FAIL; 309} 310 311__attribute__((noinline)) 312static void sys_ioctl_SIOCGIFNETMASK(void) 313{ 314 GO(SYS_ioctl, "(SIOCGIFNETMASK) 3s 2m"); 315 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFNETMASK, x0 - 1); FAIL; 316} 317 318__attribute__((noinline)) 319static void sys_ioctl_SIOCGIFNETMASK_2(void) 320{ 321 struct ifreq ifr; 322 323 ifr.ifr_name[0] = x0 + 'l'; 324 ifr.ifr_name[1] = x0 + 'o'; 325 ifr.ifr_name[2] = x0 + '0'; 326 ifr.ifr_name[3] = x0 + '\0'; 327 328 GO(SYS_ioctl, "(SIOCGIFNETMASK), 4s 0m"); 329 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFNETMASK, &ifr + x0); FAIL; 330} 331 332__attribute__((noinline)) 333static void sys_ioctl_SIOCGIFNUM(void) 334{ 335 int ifnum; 336 337 GO(SYS_ioctl, "(SIOCGIFNUM) 3s 0m"); 338 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFNUM, &ifnum + x0); FAIL; 339} 340 341__attribute__((noinline)) 342static void sys_ioctl_SIOCGIFNUM_2(void) 343{ 344 GO(SYS_ioctl, "(SIOCGIFNUM) 3s 1m"); 345 SY(SYS_ioctl, x0 - 1, x0 + SIOCGIFNUM, x0 - 1); FAIL; 346} 347 348__attribute__((noinline)) 349static void sys_ioctl_SIOCGLIFBRDADDR(void) 350{ 351 GO(SYS_ioctl, "(SIOCGLIFBRDADDR) 3s 2m"); 352 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFBRDADDR, x0 - 1); FAIL; 353} 354 355__attribute__((noinline)) 356static void sys_ioctl_SIOCGLIFBRDADDR_2(void) 357{ 358 struct lifreq lifr; 359 360 lifr.lifr_name[0] = x0 + 'l'; 361 lifr.lifr_name[1] = x0 + 'o'; 362 lifr.lifr_name[2] = x0 + '0'; 363 lifr.lifr_name[3] = x0 + '\0'; 364 365 GO(SYS_ioctl, "(SIOCGLIFBRDADDR), 4s 0m"); 366 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFBRDADDR, &lifr + x0); FAIL; 367} 368 369__attribute__((noinline)) 370static void sys_ioctl_SIOCGLIFCONF(void) 371{ 372 GO(SYS_ioctl, "(SIOCGLIFCONF), 3s 4m"); 373 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFCONF, x0 - 1); FAIL; 374} 375 376__attribute__((noinline)) 377static void sys_ioctl_SIOCGLIFCONF_2(void) 378{ 379 struct lifconf lifc; 380 char buf[] = ""; 381 382 lifc.lifc_len = x0 + 1; 383 lifc.lifc_buf = (void *) (x0 + buf); 384 lifc.lifc_family = x0 + 1; 385 lifc.lifc_flags = x0 + 0; 386 387 GO(SYS_ioctl, "(SIOCGLIFCONF), 7s 0m"); 388 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFCONF, &lifc + x0); FAIL; 389} 390 391__attribute__((noinline)) 392static void sys_ioctl_SIOCGLIFFLAGS(void) 393{ 394 GO(SYS_ioctl, "(SIOCGLIFFLAGS) 3s 2m"); 395 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFFLAGS, x0 - 1); FAIL; 396} 397 398__attribute__((noinline)) 399static void sys_ioctl_SIOCGLIFFLAGS_2(void) 400{ 401 struct lifreq lifr; 402 403 lifr.lifr_name[0] = x0 + 'l'; 404 lifr.lifr_name[1] = x0 + 'o'; 405 lifr.lifr_name[2] = x0 + '0'; 406 lifr.lifr_name[3] = x0 + '\0'; 407 408 GO(SYS_ioctl, "(SIOCGLIFFLAGS), 4s 0m"); 409 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFFLAGS, &lifr + x0); FAIL; 410} 411 412__attribute__((noinline)) 413static void sys_ioctl_SIOCGLIFNETMASK(void) 414{ 415 GO(SYS_ioctl, "(SIOCGLIFNETMASK) 3s 2m"); 416 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFNETMASK, x0 - 1); FAIL; 417} 418 419__attribute__((noinline)) 420static void sys_ioctl_SIOCGLIFNETMASK_2(void) 421{ 422 struct lifreq lifr; 423 424 lifr.lifr_name[0] = x0 + 'l'; 425 lifr.lifr_name[1] = x0 + 'o'; 426 lifr.lifr_name[2] = x0 + '0'; 427 lifr.lifr_name[3] = x0 + '\0'; 428 429 GO(SYS_ioctl, "(SIOCGLIFNETMASK), 4s 0m"); 430 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFNETMASK, &lifr + x0); FAIL; 431} 432 433__attribute__((noinline)) 434static void sys_ioctl_SIOCGLIFNUM(void) 435{ 436 struct lifnum lifn; 437 438 lifn.lifn_family = x0; 439 lifn.lifn_flags = x0; 440 441 GO(SYS_ioctl, "(SIOCGLIFNUM) 4s 0m"); 442 SY(SYS_ioctl, x0 - 1, x0 + SIOCGLIFNUM, &lifn + x0); FAIL; 443} 444 445/* filio */ 446__attribute__((noinline)) 447static void sys_ioctl_FIOSETOWN(void) 448{ 449 pid_t pid; 450 451 GO(SYS_ioctl, "(FIOSETOWN) 4s 0m"); 452 SY(SYS_ioctl, x0 - 1, x0 + FIOSETOWN, &pid + x0); FAIL; 453} 454 455__attribute__((noinline)) 456static void sys_ioctl_FIOGETOWN(void) 457{ 458 GO(SYS_ioctl, "(FIOGETOWN) 3s 1m"); 459 SY(SYS_ioctl, x0 - 1, x0 + FIOGETOWN, x0 + 1); FAIL; 460} 461 462/* crypto */ 463__attribute__((noinline)) 464static void sys_ioctl_CRYPTO_GET_PROVIDER_LIST(void) 465{ 466 GO(SYS_ioctl, "(CRYPTO_GET_PROVIDER_LIST) 3s 1m"); 467 SY(SYS_ioctl, x0 - 1, x0 + CRYPTO_GET_PROVIDER_LIST, x0 + 1); FAIL; 468} 469 470__attribute__((noinline)) 471static void sys_ioctl_CRYPTO_GET_PROVIDER_LIST_2(void) 472{ 473 crypto_get_provider_list_t pl; 474 475 pl.pl_count = x0 + 1; 476 477 GO(SYS_ioctl, "(CRYPTO_GET_PROVIDER_LIST) 4s 0m"); 478 SY(SYS_ioctl, x0 - 1, x0 + CRYPTO_GET_PROVIDER_LIST, &pl + x0); FAIL; 479} 480 481/* dtrace */ 482__attribute__((noinline)) 483static void sys_ioctl_DTRACEHIOC_REMOVE(void) 484{ 485 GO(SYS_ioctl, "(DTRACEHIOC_REMOVE) 3s 0m"); 486 SY(SYS_ioctl, x0 - 1, x0 + DTRACEHIOC_REMOVE, x0); FAIL; 487} 488 489__attribute__((noinline)) 490static void sys_ioctl_DTRACEHIOC_ADDDOF(void) 491{ 492 dof_helper_t dh; 493 494 dh.dofhp_mod[0] = x0 + 'D'; 495 dh.dofhp_mod[1] = x0 + '\0'; 496 dh.dofhp_addr = x0; 497 dh.dofhp_dof = x0; 498 499 GO(SYS_ioctl, "(DTRACEHIOC_ADDDOF) 6s 0m"); 500 SY(SYS_ioctl, x0 - 1, x0 + DTRACEHIOC_ADDDOF, x0 + &dh); FAIL; 501} 502 503__attribute__((noinline)) 504static void sys_ioctl_DINFOUSRLD(void) 505{ 506 GO(SYS_ioctl, "(DINFOUSRLD) 3s 0m"); 507 SY(SYS_ioctl, x0 - 1, x0 + DINFOUSRLD, x0 + 1); FAIL; 508} 509 510__attribute__((noinline)) 511static void sys_ioctl_DINFOIDENT(void) 512{ 513 GO(SYS_ioctl, "(DINFOIDENT) 2s 0m"); 514 SY(SYS_ioctl, x0 - 1, x0 + DINFOIDENT); FAIL; 515} 516 517int main(void) 518{ 519 /* Uninitialised, but we know px[0] is 0x0. */ 520 long *px = malloc(sizeof(long)); 521 x0 = px[0]; 522 523 /* pools */ 524 sys_ioctl_POOL_STATUSQ(); 525 526 /* mntio */ 527 sys_ioctl_MNTIOC_GETEXTMNTENT(); 528 sys_ioctl_MNTIOC_GETEXTMNTENT_2(); 529 sys_ioctl_MNTIOC_GETEXTMNTENT_3(); 530 sys_ioctl_MNTIOC_GETMNTANY(); 531 sys_ioctl_MNTIOC_GETMNTANY_2(); 532 sys_ioctl_MNTIOC_GETMNTANY_3(); 533 534 /* termio/termios */ 535 sys_ioctl_TCGETA(); 536 sys_ioctl_TCGETS(); 537 sys_ioctl_TCSETS(); 538 sys_ioctl_TCSETSW(); 539 sys_ioctl_TCSETSF(); 540 sys_ioctl_TIOCGWINSZ(); 541 sys_ioctl_TIOCSWINSZ(); 542 sys_ioctl_TIOCGPGRP(); 543 sys_ioctl_TIOCSPGRP(); 544 sys_ioctl_TIOCGSID(); 545 sys_ioctl_TIOCNOTTY(); 546 sys_ioctl_TIOCSCTTY(); 547 548 /* STREAMS */ 549 sys_ioctl_I_PUSH(); 550 sys_ioctl_I_FLUSH(); 551 sys_ioctl_I_STR(); 552 sys_ioctl_I_STR_2(); 553 sys_ioctl_I_FIND(); 554 sys_ioctl_I_PEEK(); 555 sys_ioctl_I_PEEK_2(); 556 sys_ioctl_I_CANPUT(); 557 558 /* sockio */ 559 sys_ioctl_SIOCGIFCONF(); 560 sys_ioctl_SIOCGIFCONF_2(); 561 sys_ioctl_SIOCGIFFLAGS(); 562 sys_ioctl_SIOCGIFFLAGS_2(); 563 sys_ioctl_SIOCGIFNETMASK(); 564 sys_ioctl_SIOCGIFNETMASK_2(); 565 sys_ioctl_SIOCGIFNUM(); 566 sys_ioctl_SIOCGIFNUM_2(); 567 sys_ioctl_SIOCGLIFBRDADDR(); 568 sys_ioctl_SIOCGLIFBRDADDR_2(); 569 sys_ioctl_SIOCGLIFCONF(); 570 sys_ioctl_SIOCGLIFCONF_2(); 571 sys_ioctl_SIOCGLIFFLAGS(); 572 sys_ioctl_SIOCGLIFFLAGS_2(); 573 sys_ioctl_SIOCGLIFNETMASK(); 574 sys_ioctl_SIOCGLIFNETMASK_2(); 575 sys_ioctl_SIOCGLIFNUM(); 576 577 /* filio */ 578 sys_ioctl_FIOSETOWN(); 579 sys_ioctl_FIOGETOWN(); 580 581 /* crypto */ 582 sys_ioctl_CRYPTO_GET_PROVIDER_LIST(); 583 sys_ioctl_CRYPTO_GET_PROVIDER_LIST_2(); 584 585 /* dtrace */ 586 sys_ioctl_DTRACEHIOC_REMOVE(); 587 sys_ioctl_DTRACEHIOC_ADDDOF(); 588 589 /* devinfo */ 590 sys_ioctl_DINFOUSRLD(); 591 sys_ioctl_DINFOIDENT(); 592 593 return 0; 594} 595 596