CURLOPT_OPENSOCKETDATA(3) curl_easy_setopt options CURLOPT_OPENSOCKETDATA(3)NAME
CURLOPT_OPENSOCKETDATA - custom pointer passed to open socket callback
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETDATA, void *pointer);
DESCRIPTION
Pass a pointer that will be untouched by libcurl and passed as the first argument in the opensocket callback set with CURLOPT_OPENSOCKET-
FUNCTION(3).
DEFAULT
The default value of this parameter is NULL.
PROTOCOLS
All
EXAMPLE
TODO
AVAILABILITY
Added in 7.17.1
RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
SEE ALSO CURLOPT_OPENSOCKETFUNCTION(3), CURLOPT_SOCKOPTFUNCTION(3),
libcurl 7.54.0 February 03, 2016 CURLOPT_OPENSOCKETDATA(3)
Check Out this Related Man Page
CURLOPT_OPENSOCKETFUNCTION(3) curl_easy_setopt options CURLOPT_OPENSOCKETFUNCTION(3)NAME
CURLOPT_OPENSOCKETFUNCTION - set callback for opening sockets
SYNOPSIS
#include <curl/curl.h>
typedef enum {
CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */
CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
CURLSOCKTYPE_LAST /* never use */
} curlsocktype;
struct curl_sockaddr {
int family;
int socktype;
int protocol;
unsigned int addrlen;
struct sockaddr addr;
};
curl_socket_t opensocket_callback(void *clientp,
curlsocktype purpose,
struct curl_sockaddr *address);
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETFUNCTION, opensocket_callback);
DESCRIPTION
Pass a pointer to your callback function, which should match the prototype shown above.
This callback function gets called by libcurl instead of the socket(2) call. The callback's purpose argument identifies the exact purpose
for this particular socket: CURLSOCKTYPE_IPCXN is for IP based connections and CURLSOCKTYPE_ACCEPT is for sockets created after accept() -
such as when doing active FTP. Future versions of libcurl may support more purposes.
The clientp pointer contains whatever user-defined value set using the CURLOPT_OPENSOCKETDATA(3) function.
The callback gets the resolved peer address as the address argument and is allowed to modify the address or refuse to connect completely.
The callback function should return the newly created socket or CURL_SOCKET_BAD in case no connection could be established or another error
was detected. Any additional setsockopt(2) calls can of course be done on the socket at the user's discretion. A CURL_SOCKET_BAD return
value from the callback function will signal an unrecoverable error to libcurl and it will return CURLE_COULDNT_CONNECT from the function
that triggered this callback. This return code can be used for IP address blacklisting.
If you want to pass in a socket with an already established connection, pass the socket back with this callback and then use CURLOPT_SOCK-
OPTFUNCTION(3) to signal that it already is connected.
DEFAULT
The default behavior is the equivalent of this:
return socket(addr->family, addr->socktype, addr->protocol);
PROTOCOLS
All
EXAMPLE AVAILABILITY
Added in 7.17.1.
RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
SEE ALSO CURLOPT_OPENSOCKETDATA(3), CURLOPT_SOCKOPTFUNCTION(3), CURLOPT_CLOSESOCKETFUNCTION(3),
libcurl 7.54.0 February 03, 2016 CURLOPT_OPENSOCKETFUNCTION(3)
Split large xml into mutiple files and with header and footer in file
tried below
it splits unevenly and also i need help in adding header and footer
command :
csplit -s -k -f my_XML_split.xml extrfile.xml "/<Document>/" {1}
sample xml
<?xml version="1.0" encoding="UTF-8"?><Recipient>... (36 Replies)
Here are instructions to clear the data cache for four browsers, Safari, Chrome, Firefox, Opera. In these examples I'm using MacOS Mojave, but it should be similar for any OS.
You can use these instructions to to clear and reload the cache if you have any issues with the Vue.js UserCP (current... (1 Reply)
Yesterday someone asked me to install TeamViewer and share my Mac screen with them while on a conference call.
I shut down my Mac before sleeping and woke up to some major problem with my 12-core CPU in hyperdrive, and the system activity monitor showed my Mac kernel_task was at 1,200% and the... (30 Replies)
What is the point of this? Whenever I close my shell it appends to the history file without adding this. I have never seen it overwrite my history file.
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend (3 Replies)
Hi,
I am attempting to extract the /lib/ paths using sed but it does not appear to work.
./copy_chroot_lib.sh ls echo | sed s#*\(/lib\).*#\1#g
linux-vdso.so.1 (0x00007fff77df1000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f28190ac000)
... (8 Replies)
hi,
I am searching for a native tool on MacOS that can increase the resolution of a group of image files whose aspect ratios (file width versus height) vary widely. There are numerous files so I don't wish to do this manually. Someone suggested the sips command with the resampling option but... (5 Replies)
I'm trying to use a bash script for a psych experiment that involves listening to sound files and responding. If I have something like the code below, how can I make sure that a key press is assigned to RESPONSE only after the second echo statement?
for i in 1 2 3; do
echo "Ready?"
sleep 2
... (10 Replies)
Hi all...
Well guys and gals, I jumped in at the deep end and found things that PERL cannot do by default.
Many tricky terminal escape codes are not catered for so I had to create workarounds.
One thing I searched for was this:
Passing perl variable to shell command
AND, @Neo this was... (15 Replies)
Python 3.8.0rc1 released today, 1st October 2019...
Just tried it out testing my AMIGA Python 1.4.0 code inside it and all are working, I can now test to the latest Python incarnation now.
Subjective opinion is that is seems seriously quick on my OSX 10.14.6, latest Mojave update.
Python... (0 Replies)
Hi Guys,
I wrote a collection of bash functions years ago and now need to use them again but
I'm getting some error messages when eval tries to expand the variables names.
I recollect that I used the shopt command to set one of the options but I can't quite
remember the command that I... (8 Replies)
I'm trying to complete a bash script to capture if an external webcam is active in a video conference session. Some users will switch the camera to the built-in MAC camera. When this happens I want to trigger a set of events.
Things tried: reviewed the console.app to look for patterns on when... (6 Replies)