Print this page
12315 errors in section 7i of the manual
   1 .\" Copyright (c) 2008, Sun Microsystems, Inc.  All Rights Reserved
   2 .\" Copyright (c) 2017, Joyent, Inc.
   3 .\" The contents of this file are subject to the terms of the
   4 .\" Common Development and Distribution License (the "License").
   5 .\" You may not use this file except in compliance with the License.
   6 .\"
   7 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   8 .\" or http://www.opensolaris.org/os/licensing.
   9 .\" See the License for the specific language governing permissions
  10 .\" and limitations under the License.
  11 .\"
  12 .\" When distributing Covered Code, include this CDDL HEADER in each
  13 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  14 .\" If applicable, add the following below this CDDL HEADER, with the
  15 .\" fields enclosed by brackets "[]" replaced with your own identifying
  16 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  17 .Dd October 23, 2017
  18 .Dt IPNAT 7I
  19 .Os
  20 .Sh NAME
  21 .Nm ipnat
  22 .Nd IP Filter/NAT module interface
  23 .Sh DESCRIPTION
  24 The
  25 .Sy ipnat
  26 device provides interfaction with the NAT features of the Solaris IPFilter.
  27 .Sh APPLICATION PROGRAMMING INTERFACE
  28 The NAT features programming model is a component of the Solaris IP Filter and
  29 is accessed via the NAT device file
  30 .Pa /dev/ipnat .
  31 Opening the device for
  32 reading or writing determines which ioctl calls can be successfully made.
  33 .Sh IOCTLS
  34 The caller must construct a
  35 .Vt ipfobj
  36 structure when issuing a
  37 .Sy SIOCGNATL
  38 or
  39 SIOCSTPUT
  40 ioctl.
  41 The
  42 .Vt ipfobj
  43 structure is then passed
  44 to the ioctl call and is filled out with
  45 .Fa ipfo_type
  46 set to
  47 .Dv IPFOBJ_ Ns value .
  48 .Dv IPFOBJ_ Ns value


 404 .It Er ENOMEM
 405 More memory was allocated than the kernel can provide.
 406 The call may also be returned if the application inserts a NAT entry that
 407 exceeds the hash bucket chain's maximum length.
 408 .It Er EFAULT
 409 The calling process specified an invalid pointer in the ipfobj structure.
 410 .It Er EINVAL
 411 The calling process detected a parameter or field set to an unacceptable value.
 412 .It Er EEXIST
 413 The calling process, via
 414 .Dv SIOCSTPUT ,
 415 attempted to add a NAT entry that already exists in the NAT table.
 416 .It Er ESRCH
 417 The calling process called
 418 .Dv SIOCSTPUT
 419 before setting the
 420 .Dv SI_NEWFR
 421 flag and providing a pointer in the
 422 .Fa nat_fr
 423 field that cannot  be found in the current rule set.
 424 .It Er EACESS
 425 The calling process issued a
 426 .Dv SIOCSTPUT
 427 before issuing a
 428 .Dv SIOCSTLCK .
 429 .El
 430 .Sh INTERFACE STABILITY
 431 Committed
 432 .Sh SEE ALSO
 433 .Xr ipfs 1M ,
 434 .Xr ipnat 1M ,
 435 .Xr ioctl 2 ,
 436 .Xr attributes 5
   1 .\" Copyright (c) 2008, Sun Microsystems, Inc.  All Rights Reserved
   2 .\" Copyright (c) 2017, Joyent, Inc.
   3 .\" The contents of this file are subject to the terms of the
   4 .\" Common Development and Distribution License (the "License").
   5 .\" You may not use this file except in compliance with the License.
   6 .\"
   7 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   8 .\" or http://www.opensolaris.org/os/licensing.
   9 .\" See the License for the specific language governing permissions
  10 .\" and limitations under the License.
  11 .\"
  12 .\" When distributing Covered Code, include this CDDL HEADER in each
  13 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  14 .\" If applicable, add the following below this CDDL HEADER, with the
  15 .\" fields enclosed by brackets "[]" replaced with your own identifying
  16 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  17 .Dd February 17, 2020
  18 .Dt IPNAT 7I
  19 .Os
  20 .Sh NAME
  21 .Nm ipnat
  22 .Nd IP Filter/NAT module interface
  23 .Sh DESCRIPTION
  24 The
  25 .Sy ipnat
  26 device provides interaction with the NAT features of the illumos IP Filter.
  27 .Sh APPLICATION PROGRAMMING INTERFACE
  28 The NAT features programming model is a component of the illumos IP Filter and
  29 is accessed via the NAT device file
  30 .Pa /dev/ipnat .
  31 Opening the device for
  32 reading or writing determines which ioctl calls can be successfully made.
  33 .Sh IOCTLS
  34 The caller must construct a
  35 .Vt ipfobj
  36 structure when issuing a
  37 .Sy SIOCGNATL
  38 or
  39 SIOCSTPUT
  40 ioctl.
  41 The
  42 .Vt ipfobj
  43 structure is then passed
  44 to the ioctl call and is filled out with
  45 .Fa ipfo_type
  46 set to
  47 .Dv IPFOBJ_ Ns value .
  48 .Dv IPFOBJ_ Ns value


 404 .It Er ENOMEM
 405 More memory was allocated than the kernel can provide.
 406 The call may also be returned if the application inserts a NAT entry that
 407 exceeds the hash bucket chain's maximum length.
 408 .It Er EFAULT
 409 The calling process specified an invalid pointer in the ipfobj structure.
 410 .It Er EINVAL
 411 The calling process detected a parameter or field set to an unacceptable value.
 412 .It Er EEXIST
 413 The calling process, via
 414 .Dv SIOCSTPUT ,
 415 attempted to add a NAT entry that already exists in the NAT table.
 416 .It Er ESRCH
 417 The calling process called
 418 .Dv SIOCSTPUT
 419 before setting the
 420 .Dv SI_NEWFR
 421 flag and providing a pointer in the
 422 .Fa nat_fr
 423 field that cannot  be found in the current rule set.
 424 .It Er EACCES
 425 The calling process issued a
 426 .Dv SIOCSTPUT
 427 before issuing a
 428 .Dv SIOCSTLCK .
 429 .El
 430 .Sh INTERFACE STABILITY
 431 Committed
 432 .Sh SEE ALSO
 433 .Xr ipfs 1M ,
 434 .Xr ipnat 1M ,
 435 .Xr ioctl 2 ,
 436 .Xr attributes 5