blob: 8985c0097dbdbf4939b43fd1a5b297efa02ee811 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
//
// Copyright 2025 Staysail Systems, Inc. <info@staysail.tech>
//
// This software is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt). A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//
#ifndef CORE_FDC_H
#define CORE_FDC_H
#include "core/nng_impl.h"
// the nni_sfd_conn struct is provided by platform code to wrap
// an arbitrary byte stream file descriptor (UNIX) or handle (Windows)
// with a nng_stream.
typedef struct nni_sfd_conn nni_sfd_conn;
extern nng_err nni_sfd_conn_alloc(nni_sfd_conn **cp, int fd);
extern nng_err nni_sfd_dialer_alloc(nng_stream_dialer **, const nng_url *);
extern nng_err nni_sfd_listener_alloc(nng_stream_listener **, const nng_url *);
// this is used to close a file descriptor, in case we cannot
// create a connection (or if the listener is closed before the
// connection is accepted.)
extern void nni_sfd_close_fd(int fd);
#endif // CORE_FDC_H
|