blob: 2b74ed1d16ee0cb4c39b0a3371cc9925753fb5ba [file] [log] [blame]
.. Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed
with this work for additional information regarding copyright
ownership. The ASF licenses this file to you under the Apache
License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.
.. include:: ../../../common.defs
.. default-domain:: c
TSIpStringToAddr
****************
Synopsis
========
.. code-block:: cpp
#include <ts/experimental.h>
.. function:: TSReturnCode TSIpStringToAddr(const char * str, int str_len, sockaddr* addr)
Description
===========
:arg:`str` is expected to be an explicit address, not a hostname. No hostname resolution is done. This attempts to
recognize and process a port value if present. It is set appropriately, or to zero if no port was found or it was
malformed.
It is intended to deal with the brackets that can optionally surround an IP address (usually IPv6) which in turn are
used to differentiate between an address and an attached port. E.g.
.. code-block:: none
[FE80:9312::192:168:1:1]:80
Return values
=============
It returns :data:`TS_SUCCESS` on success, or :data:`TS_ERROR` on failure.
Notes
=====
This API may be changed in the future version since it is experimental.