[freetds] How to retrieve network socket?

Ramiro Morales cramm0 at gmail.com
Wed May 27 16:58:04 EDT 2015


On Wed, May 27, 2015 at 2:34 PM, John D. Robertson <john at rrci.com> wrote:
> On Wed, 27 May 2015 08:31:05 -0400
> "John D. Robertson" <john at rrci.com> wrote:
>
>> I can't seem to find how one goes about retrieving the network socket from DBPROCESS. For asynchronous queries, I'd like to submit the socket (among many other sockets) to select() to find out when there is data waiting to be read.
>>
>
>
> It looks like this works for a quick hack, but there should be an API call:
>
> DBPROCESS *dbp;
>
> /* Get connected to server ... */
>
> /* The first member of 'struct tds_dblib_dbprocess' is
>  * is a 'struct tds_socket*', and the first member of
>  * 'struct tds_socket' is the socket, an 'int' on all *nix systems.
>  */
>
> int sock= **((int**)dbp);
>
> /* There you go. */

DBIORDESC/DBIOWDESC/dbiordesc/dbiowdesc should be of help.

http://www.freetds.org/reference/a00341.html#ga74ac942f9b7baa49e1d7d18628321297

-- 
Ramiro Morales
@ramiromorales


More information about the FreeTDS mailing list