libwebsockets
Lightweight C library for HTML5 websockets
Toggle main menu visibility
Loading...
Searching...
No Matches
lws-whois.h
Go to the documentation of this file.
1
/*
2
* libwebsockets - small server side websockets and web server implementation
3
*
4
* Copyright (C) 2010 - 2026 Andy Green <andy@warmcat.com>
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
* all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
* SOFTWARE.
23
*/
24
25
#ifndef _LWS_WHOIS_H
26
#define _LWS_WHOIS_H
27
32
33
/* hard cap on the size of lws_whois_json_purify() canonical output */
34
#define LWS_WHOIS_CANON_MAX 4096
35
36
struct
lws_whois_results
{
37
lws_usec_t
creation_date
;
38
lws_usec_t
expiry_date
;
39
lws_usec_t
updated_date
;
40
char
nameservers
[256];
41
char
dnssec
[64];
42
char
ds_data
[512];
43
};
44
45
typedef
void (*
lws_whois_cb_t
)(
void
*opaque,
const
struct
lws_whois_results
*res);
46
47
struct
lws_whois_args
{
48
struct
lws_context *
context
;
50
const
char
*
domain
;
52
const
char
*
server
;
55
lws_whois_cb_t
cb
;
57
void
*
opaque
;
59
};
60
69
#if defined(LWS_WITH_SYS_WHOIS)
70
LWS_VISIBLE
LWS_EXTERN
int
71
lws_whois_query
(
const
struct
lws_whois_args
*args);
72
#else
73
#define lws_whois_query(_a) (1)
74
#endif
75
101
#if defined(LWS_WITH_SYS_WHOIS)
102
LWS_VISIBLE
LWS_EXTERN
int
103
lws_whois_json_purify
(
char
*out,
size_t
out_len,
const
char
*in,
104
size_t
in_len,
int
*problems);
105
#else
106
#define lws_whois_json_purify(_o, _ol, _i, _il, _p) ((void)(_o), -1)
107
#endif
108
110
111
#endif
/* _LWS_WHOIS_H */
lws_whois_results::dnssec
char dnssec[64]
Definition
lws-whois.h:41
lws_whois_results::nameservers
char nameservers[256]
Definition
lws-whois.h:40
lws_whois_results::ds_data
char ds_data[512]
Definition
lws-whois.h:42
lws_whois_results::updated_date
lws_usec_t updated_date
Definition
lws-whois.h:39
lws_whois_results::expiry_date
lws_usec_t expiry_date
Definition
lws-whois.h:38
lws_whois_args::cb
lws_whois_cb_t cb
Definition
lws-whois.h:55
lws_whois_args::domain
const char * domain
Definition
lws-whois.h:50
lws_whois_args::server
const char * server
Definition
lws-whois.h:52
lws_whois_args::opaque
void * opaque
Definition
lws-whois.h:57
lws_whois_results::creation_date
lws_usec_t creation_date
Definition
lws-whois.h:37
lws_whois_args::context
struct lws_context * context
Definition
lws-whois.h:48
lws_whois_json_purify
#define lws_whois_json_purify(_o, _ol, _i, _il, _p)
Definition
lws-whois.h:106
lws_whois_query
#define lws_whois_query(_a)
Definition
lws-whois.h:73
lws_whois_cb_t
void(* lws_whois_cb_t)(void *opaque, const struct lws_whois_results *res)
Definition
lws-whois.h:45
lws_whois_args
Definition
lws-whois.h:47
lws_whois_results
Definition
lws-whois.h:36
LWS_EXTERN
#define LWS_EXTERN
Definition
libwebsockets.h:327
lws_usec_t
int64_t lws_usec_t
Definition
libwebsockets.h:750
LWS_VISIBLE
#define LWS_VISIBLE
Definition
libwebsockets.h:322
include
libwebsockets
lws-whois.h
Generated on
for libwebsockets by
1.18.0