mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-28 12:30:58 +00:00
Refactor Mongoose documentation
PUBLISHED_FROM=e9a4e5c7b4a1d03b93a2a79e29de19e60e919929
This commit is contained in:
1 parent
4120f953c7
commit
12437fd7fe
87 files changed
+977
-332
No files matched your search
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "DNS server API reference"
|
||||
symbol_kind: "intro"
|
||||
decl_name: "dns_server.h"
|
||||
items:
|
||||
- { name: mg_dns_create_reply.md }
|
||||
- { name: mg_dns_reply_record.md }
|
||||
- { name: mg_dns_send_reply.md }
|
||||
---
|
||||
|
||||
Disabled by default; enable with `-DMG_ENABLE_DNS_SERVER`.
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: "mg_dns_create_reply()"
|
||||
decl_name: "mg_dns_create_reply"
|
||||
symbol_kind: "func"
|
||||
signature: |
|
||||
struct mg_dns_reply mg_dns_create_reply(struct mbuf *io,
|
||||
struct mg_dns_message *msg);
|
||||
---
|
||||
|
||||
Creates a DNS reply.
|
||||
|
||||
The reply will be based on an existing query message `msg`.
|
||||
The query body will be appended to the output buffer.
|
||||
"reply + recursion allowed" will be added to the message flags and the
|
||||
message's num_answers will be set to 0.
|
||||
|
||||
Answer records can be appended with `mg_dns_send_reply` or by lower
|
||||
level function defined in the DNS API.
|
||||
|
||||
In order to send a reply use `mg_dns_send_reply`.
|
||||
It's possible to use a connection's send buffer as reply buffer,
|
||||
and it will work for both UDP and TCP connections.
|
||||
|
||||
Example:
|
||||
|
||||
```c
|
||||
reply = mg_dns_create_reply(&nc->send_mbuf, msg);
|
||||
for (i = 0; i < msg->num_questions; i++) {
|
||||
rr = &msg->questions[i];
|
||||
if (rr->rtype == MG_DNS_A_RECORD) {
|
||||
mg_dns_reply_record(&reply, rr, 3600, &dummy_ip_addr, 4);
|
||||
}
|
||||
}
|
||||
mg_dns_send_reply(nc, &reply);
|
||||
```
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: "mg_dns_reply_record()"
|
||||
decl_name: "mg_dns_reply_record"
|
||||
symbol_kind: "func"
|
||||
signature: |
|
||||
int mg_dns_reply_record(struct mg_dns_reply *reply,
|
||||
struct mg_dns_resource_record *question,
|
||||
const char *name, int rtype, int ttl, const void *rdata,
|
||||
size_t rdata_len);
|
||||
---
|
||||
|
||||
Appends a DNS reply record to the IO buffer and to the DNS message.
|
||||
|
||||
The message's num_answers field will be incremented. It's the caller's duty
|
||||
to ensure num_answers is properly initialised.
|
||||
|
||||
Returns -1 on error.
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: "mg_dns_send_reply()"
|
||||
decl_name: "mg_dns_send_reply"
|
||||
symbol_kind: "func"
|
||||
signature: |
|
||||
void mg_dns_send_reply(struct mg_connection *nc, struct mg_dns_reply *r);
|
||||
---
|
||||
|
||||
Sends a DNS reply through a connection.
|
||||
|
||||
The DNS data is stored in an IO buffer pointed by reply structure in `r`.
|
||||
This function mutates the content of that buffer in order to ensure that
|
||||
the DNS header reflects the size and flags of the message, that might have
|
||||
been updated either with `mg_dns_reply_record` or by direct manipulation of
|
||||
`r->message`.
|
||||
|
||||
Once sent, the IO buffer will be trimmed unless the reply IO buffer
|
||||
is the connection's send buffer and the connection is not in UDP mode.
|
||||
|
||||
Reference in new issue
Block a user