mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-07 03:38:31 +00:00
Add curl example (#42)
make -j8 o//examples/curl.com o//examples/curl.com http://justine.lol/ape.html
This commit is contained in:
parent
667ab245fe
commit
2c15efc249
29 changed files with 208 additions and 153 deletions
|
@ -1,15 +1,34 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_DNS_DNS_H_
|
||||
#define COSMOPOLITAN_LIBC_DNS_DNS_H_
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
#include "libc/dns/resolvconf.h"
|
||||
#include "libc/sock/sock.h"
|
||||
|
||||
#define DNS_PORT 53
|
||||
#define DNS_NAME_MAX 253
|
||||
#define DNS_PORT 53
|
||||
#define DNS_NAME_MAX 253
|
||||
#define DNS_LABEL_MAX 63
|
||||
|
||||
struct sockaddr;
|
||||
struct sockaddr_in;
|
||||
struct ResolvConf;
|
||||
#define EAI_SUCCESS 0
|
||||
#define EAI_BADFLAGS -1
|
||||
#define EAI_NONAME -2
|
||||
#define EAI_AGAIN -3
|
||||
#define EAI_FAIL -4
|
||||
#define EAI_NODATA -5
|
||||
#define EAI_FAMILY -6
|
||||
#define EAI_SOCKTYPE -7
|
||||
#define EAI_SERVICE -8
|
||||
#define EAI_ADDRFAMILY -9
|
||||
#define EAI_MEMORY -10
|
||||
#define EAI_OVERFLOW -12
|
||||
#define EAI_SYSTEM -11
|
||||
#define EAI_ALLDONE -103
|
||||
#define EAI_CANCELED -101
|
||||
#define EAI_IDN_ENCODE -105
|
||||
#define EAI_INPROGRESS -100
|
||||
#define EAI_INTR -104
|
||||
#define EAI_NOTCANCELED -102
|
||||
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
struct addrinfo {
|
||||
int32_t ai_flags; /* AI_XXX */
|
||||
|
|
|
@ -17,30 +17,51 @@
|
|||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/dns/dns.h"
|
||||
#include "libc/sysv/consts/eai.h"
|
||||
|
||||
/**
|
||||
* Turns getaddrinfo() return code into string.
|
||||
*/
|
||||
const char *eai2str(int code) {
|
||||
if (code == EAI_ADDRFAMILY) return "ADDRFAMILY";
|
||||
if (code == EAI_AGAIN) return "AGAIN";
|
||||
if (code == EAI_ALLDONE) return "ALLDONE";
|
||||
if (code == EAI_BADFLAGS) return "BADFLAGS";
|
||||
if (code == EAI_CANCELED) return "CANCELED";
|
||||
if (code == EAI_FAIL) return "FAIL";
|
||||
if (code == EAI_FAMILY) return "FAMILY";
|
||||
if (code == EAI_IDN_ENCODE) return "ENCODE";
|
||||
if (code == EAI_INPROGRESS) return "INPROGRESS";
|
||||
if (code == EAI_INTR) return "INTR";
|
||||
if (code == EAI_MEMORY) return "MEMORY";
|
||||
if (code == EAI_NODATA) return "NODATA";
|
||||
if (code == EAI_NONAME) return "NONAME";
|
||||
if (code == EAI_NOTCANCELED) return "NOTCANCELED";
|
||||
if (code == EAI_OVERFLOW) return "OVERFLOW";
|
||||
if (code == EAI_SERVICE) return "SERVICE";
|
||||
if (code == EAI_SOCKTYPE) return "SOCKTYPE";
|
||||
if (code == EAI_SUCCESS) return "SUCCESS";
|
||||
if (code == EAI_SYSTEM) return "SYSTEM";
|
||||
return "???";
|
||||
switch (code) {
|
||||
case EAI_ADDRFAMILY:
|
||||
return "ADDRFAMILY";
|
||||
case EAI_AGAIN:
|
||||
return "AGAIN";
|
||||
case EAI_ALLDONE:
|
||||
return "ALLDONE";
|
||||
case EAI_BADFLAGS:
|
||||
return "BADFLAGS";
|
||||
case EAI_CANCELED:
|
||||
return "CANCELED";
|
||||
case EAI_FAIL:
|
||||
return "FAIL";
|
||||
case EAI_FAMILY:
|
||||
return "FAMILY";
|
||||
case EAI_IDN_ENCODE:
|
||||
return "ENCODE";
|
||||
case EAI_INPROGRESS:
|
||||
return "INPROGRESS";
|
||||
case EAI_INTR:
|
||||
return "INTR";
|
||||
case EAI_MEMORY:
|
||||
return "MEMORY";
|
||||
case EAI_NODATA:
|
||||
return "NODATA";
|
||||
case EAI_NONAME:
|
||||
return "NONAME";
|
||||
case EAI_NOTCANCELED:
|
||||
return "NOTCANCELED";
|
||||
case EAI_OVERFLOW:
|
||||
return "OVERFLOW";
|
||||
case EAI_SERVICE:
|
||||
return "SERVICE";
|
||||
case EAI_SOCKTYPE:
|
||||
return "SOCKTYPE";
|
||||
case EAI_SUCCESS:
|
||||
return "SUCCESS";
|
||||
case EAI_SYSTEM:
|
||||
return "SYSTEM";
|
||||
default:
|
||||
return "???";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#include "libc/str/str.h"
|
||||
#include "libc/sysv/consts/af.h"
|
||||
#include "libc/sysv/consts/ai.h"
|
||||
#include "libc/sysv/consts/eai.h"
|
||||
#include "libc/sysv/consts/inaddr.h"
|
||||
#include "libc/sysv/errfuns.h"
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_DNS_RESOLVCONF_H_
|
||||
#define COSMOPOLITAN_LIBC_DNS_RESOLVCONF_H_
|
||||
#include "libc/sock/sock.h"
|
||||
#include "libc/stdio/stdio.h"
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
struct FILE;
|
||||
struct sockaddr_in;
|
||||
|
||||
struct Nameservers {
|
||||
size_t i, n;
|
||||
struct sockaddr_in *p;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue