xref: /illumos-gate/usr/src/man/man3nsl/getipsecprotobyname.3nsl (revision 1e56f352c1c208679012bca47d552e127f5b1072)
te
Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
Copyright (C) 2020, Sergio Aguayo. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
GETIPSECPROTOBYNAME 3NSL "February 21, 2023"
NAME
getipsecprotobyname, getipsecprotobynum - query IPsec protocols entries
SYNOPSIS
cc -flag .\|.\|. file .\|.\|.-lnsl [ -library .\|.\|. ]
#include <netdb.h>


int getipsecprotobyname(const char *proto_name);

char *getipsecprotobynum(int proto_num);
DESCRIPTION
Use the getipsecprotobyname() and getipsecprotobynum() functions to obtain the IPsec algorithm mappings that are defined by ipsecalgs(8). You can also use the getipsecprotobyname() and getipsecprotobynum() functions in conjunction with getipsecalgbyname(3NSL) and getipsecalgbynum(3NSL) to obtain information about the supported IPsec algorithms. The IPsec algorithms and associated protocol name spaces are defined by RFC 2407.

getipsecprotobyname() takes as an argument the name of an IPsec protocol and returns its assigned protocol number. The character string returned by the getipsecprotobyname() function must be freed by the called when it is no longer needed.

getipsecprotobynum() takes as an argument a protocol number and returns the corresponding protocol name.

The following protocol numbers are pre-defined: IPSEC_PROTO_ESP

Defines the encryption algorithms (transforms) that can be used by IPsec to provide data confidentiality.

IPSEC_PROTO_AH

Defines the authentication algorithms (transforms) that can be used by IPsec to provide authentication.

PARAMETERS
proto_name

A pointer to the name of an IPsec protocol.

proto_num

A pointer to a protocol number.

RETURN VALUES
The getipsecprotobyname() function returns a protocol number upon success, or -1 if the protocol specified does not exist.

The getipsecprotobynum() function returns a protocol name upon success, or the NULL value if the protocol number specified does not exist.

ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE
MT Level MT Safe
Interface Stability Evolving
SEE ALSO
getipsecalgbyname (3NSL), attributes (7), ipsecalgs (8)

Piper, D. RFC 2407, The Internet IP Security Domain of Interpretation for ISAKMP. Network Working Group. November, 1998.