Hex Artifact Content
Not logged in

Artifact a682ff7d7ee45e93b8b4826d8cd963ded63d7dfa:


0000: 3b 3b 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20  ;;.;; Copyright 
0010: 32 30 31 37 20 41 6c 64 6f 20 4e 69 63 6f 6c 61  2017 Aldo Nicola
0020: 73 20 42 72 75 6e 6f 0a 3b 3b 0a 3b 3b 20 4c 69  s Bruno.;;.;; Li
0030: 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65  censed under the
0040: 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c   Apache License,
0050: 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68   Version 2.0 (th
0060: 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 0a 3b 3b  e "License");.;;
0070: 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 75 73 65   you may not use
0080: 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70   this file excep
0090: 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20  t in compliance 
00a0: 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65  with the License
00b0: 2e 0a 3b 3b 20 59 6f 75 20 6d 61 79 20 6f 62 74  ..;; You may obt
00c0: 61 69 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68  ain a copy of th
00d0: 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 3b 3b 0a  e License at.;;.
00e0: 3b 3b 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77  ;;     http://ww
00f0: 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63  w.apache.org/lic
0100: 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e  enses/LICENSE-2.
0110: 30 0a 3b 3b 0a 3b 3b 20 55 6e 6c 65 73 73 20 72  0.;;.;; Unless r
0120: 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69  equired by appli
0130: 63 61 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72  cable law or agr
0140: 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e  eed to in writin
0150: 67 2c 20 73 6f 66 74 77 61 72 65 0a 3b 3b 20 64  g, software.;; d
0160: 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72  istributed under
0170: 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20   the License is 
0180: 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61  distributed on a
0190: 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c  n "AS IS" BASIS,
01a0: 0a 3b 3b 20 57 49 54 48 4f 55 54 20 57 41 52 52  .;; WITHOUT WARR
01b0: 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54  ANTIES OR CONDIT
01c0: 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44  IONS OF ANY KIND
01d0: 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73  , either express
01e0: 20 6f 72 20 69 6d 70 6c 69 65 64 2e 0a 3b 3b 20   or implied..;; 
01f0: 53 65 65 20 74 68 65 20 4c 69 63 65 6e 73 65 20  See the License 
0200: 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63  for the specific
0210: 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e   language govern
0220: 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20  ing permissions 
0230: 61 6e 64 0a 3b 3b 20 6c 69 6d 69 74 61 74 69 6f  and.;; limitatio
0240: 6e 73 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63  ns under the Lic
0250: 65 6e 73 65 2e 0a 0a 28 6c 69 62 72 61 72 79 20  ense...(library 
0260: 28 63 75 72 6c 29 0a 20 20 28 65 78 70 6f 72 74  (curl).  (export
0270: 20 63 75 72 6c 2d 67 6c 6f 62 61 6c 2d 69 6e 69   curl-global-ini
0280: 74 0a 09 20 20 63 75 72 6c 2d 65 61 73 79 2d 69  t..  curl-easy-i
0290: 6e 69 74 0a 09 20 20 63 75 72 6c 2d 65 61 73 79  nit..  curl-easy
02a0: 2d 70 65 72 66 6f 72 6d 0a 09 20 20 63 75 72 6c  -perform..  curl
02b0: 2d 65 61 73 79 2d 73 65 74 6f 70 74 2f 66 75 6e  -easy-setopt/fun
02c0: 63 74 69 6f 6e 0a 09 20 20 63 75 72 6c 2d 65 61  ction..  curl-ea
02d0: 73 79 2d 73 65 74 6f 70 74 2f 6f 66 66 73 65 74  sy-setopt/offset
02e0: 0a 09 20 20 63 75 72 6c 2d 65 61 73 79 2d 73 65  ..  curl-easy-se
02f0: 74 6f 70 74 2f 73 63 68 65 6d 65 2d 6f 62 6a 65  topt/scheme-obje
0300: 63 74 0a 09 20 20 63 75 72 6c 2d 65 61 73 79 2d  ct..  curl-easy-
0310: 73 65 74 6f 70 74 2f 6f 62 6a 65 63 74 0a 09 20  setopt/object.. 
0320: 20 63 75 72 6c 2d 65 61 73 79 2d 73 65 74 6f 70   curl-easy-setop
0330: 74 2f 73 74 72 69 6e 67 0a 09 20 20 63 75 72 6c  t/string..  curl
0340: 2d 65 61 73 79 2d 73 65 74 6f 70 74 2f 6c 6f 6e  -easy-setopt/lon
0350: 67 0a 09 20 20 63 75 72 6c 2d 65 61 73 79 2d 63  g..  curl-easy-c
0360: 6c 65 61 6e 75 70 0a 09 20 20 63 75 72 6c 2d 73  leanup..  curl-s
0370: 6c 69 73 74 2d 66 72 65 65 2d 61 6c 6c 0a 09 20  list-free-all.. 
0380: 20 63 75 72 6c 2d 73 6c 69 73 74 2d 61 70 70 65   curl-slist-appe
0390: 6e 64 0a 09 20 20 63 75 72 6c 5f 73 6c 69 73 74  nd..  curl_slist
03a0: 0a 09 20 20 0a 09 20 20 63 75 72 6c 2d 72 65 61  ..  ..  curl-rea
03b0: 64 2d 63 61 6c 6c 62 61 63 6b 0a 09 20 20 63 75  d-callback..  cu
03c0: 72 6c 2d 77 72 69 74 65 2d 63 61 6c 6c 62 61 63  rl-write-callbac
03d0: 6b 0a 0a 09 20 20 43 55 52 4c 55 53 45 53 53 4c  k...  CURLUSESSL
03e0: 0a 09 20 20 0a 09 20 20 43 55 52 4c 5f 47 4c 4f  ..  ..  CURL_GLO
03f0: 42 41 4c 5f 53 53 4c 0a 09 20 20 43 55 52 4c 5f  BAL_SSL..  CURL_
0400: 47 4c 4f 42 41 4c 5f 57 49 4e 33 32 0a 09 20 20  GLOBAL_WIN32..  
0410: 43 55 52 4c 5f 47 4c 4f 42 41 4c 5f 41 4c 4c 0a  CURL_GLOBAL_ALL.
0420: 09 20 20 43 55 52 4c 5f 47 4c 4f 42 41 4c 5f 4e  .  CURL_GLOBAL_N
0430: 4f 54 48 49 4e 47 0a 09 20 20 43 55 52 4c 5f 47  OTHING..  CURL_G
0440: 4c 4f 42 41 4c 5f 44 45 46 41 55 4c 54 0a 09 20  LOBAL_DEFAULT.. 
0450: 20 43 55 52 4c 5f 47 4c 4f 42 41 4c 5f 41 43 4b   CURL_GLOBAL_ACK
0460: 5f 45 49 4e 54 52 20 0a 09 20 20 43 55 52 4c 46  _EINTR ..  CURLF
0470: 54 50 5f 43 52 45 41 54 45 5f 44 49 52 5f 4e 4f  TP_CREATE_DIR_NO
0480: 4e 45 0a 09 20 20 43 55 52 4c 46 54 50 5f 43 52  NE..  CURLFTP_CR
0490: 45 41 54 45 5f 44 49 52 0a 09 20 20 43 55 52 4c  EATE_DIR..  CURL
04a0: 46 54 50 5f 43 52 45 41 54 45 5f 44 49 52 5f 52  FTP_CREATE_DIR_R
04b0: 45 54 52 59 0a 0a 09 20 20 43 55 52 4c 4f 50 54  ETRY...  CURLOPT
04c0: 5f 57 52 49 54 45 44 41 54 41 20 43 55 52 4c 4f  _WRITEDATA CURLO
04d0: 50 54 5f 55 52 4c 20 43 55 52 4c 4f 50 54 5f 50  PT_URL CURLOPT_P
04e0: 4f 52 54 20 43 55 52 4c 4f 50 54 5f 50 52 4f 58  ORT CURLOPT_PROX
04f0: 59 0a 09 20 20 43 55 52 4c 4f 50 54 5f 55 53 45  Y..  CURLOPT_USE
0500: 52 50 57 44 20 43 55 52 4c 4f 50 54 5f 50 52 4f  RPWD CURLOPT_PRO
0510: 58 59 55 53 45 52 50 57 44 20 43 55 52 4c 4f 50  XYUSERPWD CURLOP
0520: 54 5f 52 41 4e 47 45 20 43 55 52 4c 4f 50 54 5f  T_RANGE CURLOPT_
0530: 52 45 41 44 44 41 54 41 0a 09 20 20 43 55 52 4c  READDATA..  CURL
0540: 4f 50 54 5f 45 52 52 4f 52 42 55 46 46 45 52 20  OPT_ERRORBUFFER 
0550: 43 55 52 4c 4f 50 54 5f 57 52 49 54 45 46 55 4e  CURLOPT_WRITEFUN
0560: 43 54 49 4f 4e 20 43 55 52 4c 4f 50 54 5f 52 45  CTION CURLOPT_RE
0570: 41 44 46 55 4e 43 54 49 4f 4e 0a 09 20 20 43 55  ADFUNCTION..  CU
0580: 52 4c 4f 50 54 5f 54 49 4d 45 4f 55 54 20 43 55  RLOPT_TIMEOUT CU
0590: 52 4c 4f 50 54 5f 49 4e 46 49 4c 45 53 49 5a 45  RLOPT_INFILESIZE
05a0: 20 43 55 52 4c 4f 50 54 5f 50 4f 53 54 46 49 45   CURLOPT_POSTFIE
05b0: 4c 44 53 20 43 55 52 4c 4f 50 54 5f 52 45 46 45  LDS CURLOPT_REFE
05c0: 52 45 52 0a 09 20 20 43 55 52 4c 4f 50 54 5f 46  RER..  CURLOPT_F
05d0: 54 50 50 4f 52 54 20 43 55 52 4c 4f 50 54 5f 55  TPPORT CURLOPT_U
05e0: 53 45 52 41 47 45 4e 54 20 43 55 52 4c 4f 50 54  SERAGENT CURLOPT
05f0: 5f 4c 4f 57 5f 53 50 45 45 44 5f 4c 49 4d 49 54  _LOW_SPEED_LIMIT
0600: 0a 09 20 20 43 55 52 4c 4f 50 54 5f 4c 4f 57 5f  ..  CURLOPT_LOW_
0610: 53 50 45 45 44 5f 54 49 4d 45 20 43 55 52 4c 4f  SPEED_TIME CURLO
0620: 50 54 5f 52 45 53 55 4d 45 5f 46 52 4f 4d 20 43  PT_RESUME_FROM C
0630: 55 52 4c 4f 50 54 5f 43 4f 4f 4b 49 45 0a 09 20  URLOPT_COOKIE.. 
0640: 20 43 55 52 4c 4f 50 54 5f 48 54 54 50 48 45 41   CURLOPT_HTTPHEA
0650: 44 45 52 20 43 55 52 4c 4f 50 54 5f 48 54 54 50  DER CURLOPT_HTTP
0660: 50 4f 53 54 20 43 55 52 4c 4f 50 54 5f 53 53 4c  POST CURLOPT_SSL
0670: 43 45 52 54 20 43 55 52 4c 4f 50 54 5f 4b 45 59  CERT CURLOPT_KEY
0680: 50 41 53 53 57 44 0a 09 20 20 43 55 52 4c 4f 50  PASSWD..  CURLOP
0690: 54 5f 43 52 4c 46 20 43 55 52 4c 4f 50 54 5f 51  T_CRLF CURLOPT_Q
06a0: 55 4f 54 45 20 43 55 52 4c 4f 50 54 5f 48 45 41  UOTE CURLOPT_HEA
06b0: 44 45 52 44 41 54 41 20 43 55 52 4c 4f 50 54 5f  DERDATA CURLOPT_
06c0: 43 4f 4f 4b 49 45 46 49 4c 45 0a 09 20 20 43 55  COOKIEFILE..  CU
06d0: 52 4c 4f 50 54 5f 53 53 4c 56 45 52 53 49 4f 4e  RLOPT_SSLVERSION
06e0: 20 43 55 52 4c 4f 50 54 5f 54 49 4d 45 43 4f 4e   CURLOPT_TIMECON
06f0: 44 49 54 49 4f 4e 20 43 55 52 4c 4f 50 54 5f 54  DITION CURLOPT_T
0700: 49 4d 45 56 41 4c 55 45 0a 09 20 20 43 55 52 4c  IMEVALUE..  CURL
0710: 4f 50 54 5f 43 55 53 54 4f 4d 52 45 51 55 45 53  OPT_CUSTOMREQUES
0720: 54 20 43 55 52 4c 4f 50 54 5f 53 54 44 45 52 52  T CURLOPT_STDERR
0730: 20 43 55 52 4c 4f 50 54 5f 50 4f 53 54 51 55 4f   CURLOPT_POSTQUO
0740: 54 45 0a 09 20 20 43 55 52 4c 4f 50 54 5f 4f 42  TE..  CURLOPT_OB
0750: 53 4f 4c 45 54 45 34 30 20 43 55 52 4c 4f 50 54  SOLETE40 CURLOPT
0760: 5f 56 45 52 42 4f 53 45 20 43 55 52 4c 4f 50 54  _VERBOSE CURLOPT
0770: 5f 48 45 41 44 45 52 20 43 55 52 4c 4f 50 54 5f  _HEADER CURLOPT_
0780: 4e 4f 50 52 4f 47 52 45 53 53 0a 09 20 20 43 55  NOPROGRESS..  CU
0790: 52 4c 4f 50 54 5f 4e 4f 42 4f 44 59 20 43 55 52  RLOPT_NOBODY CUR
07a0: 4c 4f 50 54 5f 46 41 49 4c 4f 4e 45 52 52 4f 52  LOPT_FAILONERROR
07b0: 20 43 55 52 4c 4f 50 54 5f 55 50 4c 4f 41 44 20   CURLOPT_UPLOAD 
07c0: 43 55 52 4c 4f 50 54 5f 50 4f 53 54 0a 09 20 20  CURLOPT_POST..  
07d0: 43 55 52 4c 4f 50 54 5f 44 49 52 4c 49 53 54 4f  CURLOPT_DIRLISTO
07e0: 4e 4c 59 20 43 55 52 4c 4f 50 54 5f 41 50 50 45  NLY CURLOPT_APPE
07f0: 4e 44 20 43 55 52 4c 4f 50 54 5f 4e 45 54 52 43  ND CURLOPT_NETRC
0800: 0a 09 20 20 43 55 52 4c 4f 50 54 5f 46 4f 4c 4c  ..  CURLOPT_FOLL
0810: 4f 57 4c 4f 43 41 54 49 4f 4e 20 43 55 52 4c 4f  OWLOCATION CURLO
0820: 50 54 5f 54 52 41 4e 53 46 45 52 54 45 58 54 20  PT_TRANSFERTEXT 
0830: 43 55 52 4c 4f 50 54 5f 50 55 54 0a 09 20 20 43  CURLOPT_PUT..  C
0840: 55 52 4c 4f 50 54 5f 50 52 4f 47 52 45 53 53 46  URLOPT_PROGRESSF
0850: 55 4e 43 54 49 4f 4e 20 43 55 52 4c 4f 50 54 5f  UNCTION CURLOPT_
0860: 50 52 4f 47 52 45 53 53 44 41 54 41 20 43 55 52  PROGRESSDATA CUR
0870: 4c 4f 50 54 5f 41 55 54 4f 52 45 46 45 52 45 52  LOPT_AUTOREFERER
0880: 0a 09 20 20 43 55 52 4c 4f 50 54 5f 50 52 4f 58  ..  CURLOPT_PROX
0890: 59 50 4f 52 54 20 43 55 52 4c 4f 50 54 5f 50 4f  YPORT CURLOPT_PO
08a0: 53 54 46 49 45 4c 44 53 49 5a 45 20 43 55 52 4c  STFIELDSIZE CURL
08b0: 4f 50 54 5f 48 54 54 50 50 52 4f 58 59 54 55 4e  OPT_HTTPPROXYTUN
08c0: 4e 45 4c 0a 09 20 20 43 55 52 4c 4f 50 54 5f 49  NEL..  CURLOPT_I
08d0: 4e 54 45 52 46 41 43 45 20 43 55 52 4c 4f 50 54  NTERFACE CURLOPT
08e0: 5f 4b 52 42 4c 45 56 45 4c 20 43 55 52 4c 4f 50  _KRBLEVEL CURLOP
08f0: 54 5f 53 53 4c 5f 56 45 52 49 46 59 50 45 45 52  T_SSL_VERIFYPEER
0900: 0a 09 20 20 43 55 52 4c 4f 50 54 5f 43 41 49 4e  ..  CURLOPT_CAIN
0910: 46 4f 20 43 55 52 4c 4f 50 54 5f 4d 41 58 52 45  FO CURLOPT_MAXRE
0920: 44 49 52 53 20 43 55 52 4c 4f 50 54 5f 46 49 4c  DIRS CURLOPT_FIL
0930: 45 54 49 4d 45 0a 09 20 20 43 55 52 4c 4f 50 54  ETIME..  CURLOPT
0940: 5f 54 45 4c 4e 45 54 4f 50 54 49 4f 4e 53 20 43  _TELNETOPTIONS C
0950: 55 52 4c 4f 50 54 5f 4d 41 58 43 4f 4e 4e 45 43  URLOPT_MAXCONNEC
0960: 54 53 20 43 55 52 4c 4f 50 54 5f 4f 42 53 4f 4c  TS CURLOPT_OBSOL
0970: 45 54 45 37 32 0a 09 20 20 43 55 52 4c 4f 50 54  ETE72..  CURLOPT
0980: 5f 46 52 45 53 48 5f 43 4f 4e 4e 45 43 54 20 43  _FRESH_CONNECT C
0990: 55 52 4c 4f 50 54 5f 46 4f 52 42 49 44 5f 52 45  URLOPT_FORBID_RE
09a0: 55 53 45 20 43 55 52 4c 4f 50 54 5f 52 41 4e 44  USE CURLOPT_RAND
09b0: 4f 4d 5f 46 49 4c 45 0a 09 20 20 43 55 52 4c 4f  OM_FILE..  CURLO
09c0: 50 54 5f 45 47 44 53 4f 43 4b 45 54 20 43 55 52  PT_EGDSOCKET CUR
09d0: 4c 4f 50 54 5f 43 4f 4e 4e 45 43 54 54 49 4d 45  LOPT_CONNECTTIME
09e0: 4f 55 54 20 43 55 52 4c 4f 50 54 5f 48 45 41 44  OUT CURLOPT_HEAD
09f0: 45 52 46 55 4e 43 54 49 4f 4e 0a 09 20 20 43 55  ERFUNCTION..  CU
0a00: 52 4c 4f 50 54 5f 48 54 54 50 47 45 54 20 43 55  RLOPT_HTTPGET CU
0a10: 52 4c 4f 50 54 5f 53 53 4c 5f 56 45 52 49 46 59  RLOPT_SSL_VERIFY
0a20: 48 4f 53 54 20 43 55 52 4c 4f 50 54 5f 43 4f 4f  HOST CURLOPT_COO
0a30: 4b 49 45 4a 41 52 0a 09 20 20 43 55 52 4c 4f 50  KIEJAR..  CURLOP
0a40: 54 5f 53 53 4c 5f 43 49 50 48 45 52 5f 4c 49 53  T_SSL_CIPHER_LIS
0a50: 54 20 43 55 52 4c 4f 50 54 5f 48 54 54 50 5f 56  T CURLOPT_HTTP_V
0a60: 45 52 53 49 4f 4e 20 43 55 52 4c 4f 50 54 5f 46  ERSION CURLOPT_F
0a70: 54 50 5f 55 53 45 5f 45 50 53 56 0a 09 20 20 43  TP_USE_EPSV..  C
0a80: 55 52 4c 4f 50 54 5f 53 53 4c 43 45 52 54 54 59  URLOPT_SSLCERTTY
0a90: 50 45 20 43 55 52 4c 4f 50 54 5f 53 53 4c 4b 45  PE CURLOPT_SSLKE
0aa0: 59 20 43 55 52 4c 4f 50 54 5f 53 53 4c 4b 45 59  Y CURLOPT_SSLKEY
0ab0: 54 59 50 45 0a 09 20 20 43 55 52 4c 4f 50 54 5f  TYPE..  CURLOPT_
0ac0: 53 53 4c 45 4e 47 49 4e 45 20 43 55 52 4c 4f 50  SSLENGINE CURLOP
0ad0: 54 5f 53 53 4c 45 4e 47 49 4e 45 5f 44 45 46 41  T_SSLENGINE_DEFA
0ae0: 55 4c 54 0a 09 20 20 43 55 52 4c 4f 50 54 5f 44  ULT..  CURLOPT_D
0af0: 4e 53 5f 55 53 45 5f 47 4c 4f 42 41 4c 5f 43 41  NS_USE_GLOBAL_CA
0b00: 43 48 45 20 43 55 52 4c 4f 50 54 5f 44 4e 53 5f  CHE CURLOPT_DNS_
0b10: 43 41 43 48 45 5f 54 49 4d 45 4f 55 54 0a 09 20  CACHE_TIMEOUT.. 
0b20: 20 43 55 52 4c 4f 50 54 5f 50 52 45 51 55 4f 54   CURLOPT_PREQUOT
0b30: 45 20 43 55 52 4c 4f 50 54 5f 44 45 42 55 47 46  E CURLOPT_DEBUGF
0b40: 55 4e 43 54 49 4f 4e 20 43 55 52 4c 4f 50 54 5f  UNCTION CURLOPT_
0b50: 44 45 42 55 47 44 41 54 41 0a 09 20 20 43 55 52  DEBUGDATA..  CUR
0b60: 4c 4f 50 54 5f 43 4f 4f 4b 49 45 53 45 53 53 49  LOPT_COOKIESESSI
0b70: 4f 4e 20 43 55 52 4c 4f 50 54 5f 43 41 50 41 54  ON CURLOPT_CAPAT
0b80: 48 20 43 55 52 4c 4f 50 54 5f 42 55 46 46 45 52  H CURLOPT_BUFFER
0b90: 53 49 5a 45 0a 09 20 20 43 55 52 4c 4f 50 54 5f  SIZE..  CURLOPT_
0ba0: 4e 4f 53 49 47 4e 41 4c 20 43 55 52 4c 4f 50 54  NOSIGNAL CURLOPT
0bb0: 5f 53 48 41 52 45 20 43 55 52 4c 4f 50 54 5f 50  _SHARE CURLOPT_P
0bc0: 52 4f 58 59 54 59 50 45 0a 09 20 20 43 55 52 4c  ROXYTYPE..  CURL
0bd0: 4f 50 54 5f 41 43 43 45 50 54 5f 45 4e 43 4f 44  OPT_ACCEPT_ENCOD
0be0: 49 4e 47 20 43 55 52 4c 4f 50 54 5f 50 52 49 56  ING CURLOPT_PRIV
0bf0: 41 54 45 20 43 55 52 4c 4f 50 54 5f 48 54 54 50  ATE CURLOPT_HTTP
0c00: 32 30 30 41 4c 49 41 53 45 53 0a 09 20 20 43 55  200ALIASES..  CU
0c10: 52 4c 4f 50 54 5f 55 4e 52 45 53 54 52 49 43 54  RLOPT_UNRESTRICT
0c20: 45 44 5f 41 55 54 48 20 43 55 52 4c 4f 50 54 5f  ED_AUTH CURLOPT_
0c30: 46 54 50 5f 55 53 45 5f 45 50 52 54 20 43 55 52  FTP_USE_EPRT CUR
0c40: 4c 4f 50 54 5f 48 54 54 50 41 55 54 48 0a 09 20  LOPT_HTTPAUTH.. 
0c50: 20 43 55 52 4c 4f 50 54 5f 53 53 4c 5f 43 54 58   CURLOPT_SSL_CTX
0c60: 5f 46 55 4e 43 54 49 4f 4e 20 43 55 52 4c 4f 50  _FUNCTION CURLOP
0c70: 54 5f 53 53 4c 5f 43 54 58 5f 44 41 54 41 0a 09  T_SSL_CTX_DATA..
0c80: 20 20 43 55 52 4c 4f 50 54 5f 46 54 50 5f 43 52    CURLOPT_FTP_CR
0c90: 45 41 54 45 5f 4d 49 53 53 49 4e 47 5f 44 49 52  EATE_MISSING_DIR
0ca0: 53 20 43 55 52 4c 4f 50 54 5f 50 52 4f 58 59 41  S CURLOPT_PROXYA
0cb0: 55 54 48 0a 09 20 20 43 55 52 4c 4f 50 54 5f 46  UTH..  CURLOPT_F
0cc0: 54 50 5f 52 45 53 50 4f 4e 53 45 5f 54 49 4d 45  TP_RESPONSE_TIME
0cd0: 4f 55 54 20 43 55 52 4c 4f 50 54 5f 49 50 52 45  OUT CURLOPT_IPRE
0ce0: 53 4f 4c 56 45 20 43 55 52 4c 4f 50 54 5f 4d 41  SOLVE CURLOPT_MA
0cf0: 58 46 49 4c 45 53 49 5a 45 0a 09 20 20 43 55 52  XFILESIZE..  CUR
0d00: 4c 4f 50 54 5f 49 4e 46 49 4c 45 53 49 5a 45 5f  LOPT_INFILESIZE_
0d10: 4c 41 52 47 45 20 43 55 52 4c 4f 50 54 5f 52 45  LARGE CURLOPT_RE
0d20: 53 55 4d 45 5f 46 52 4f 4d 5f 4c 41 52 47 45 0a  SUME_FROM_LARGE.
0d30: 09 20 20 43 55 52 4c 4f 50 54 5f 4d 41 58 46 49  .  CURLOPT_MAXFI
0d40: 4c 45 53 49 5a 45 5f 4c 41 52 47 45 20 43 55 52  LESIZE_LARGE CUR
0d50: 4c 4f 50 54 5f 4e 45 54 52 43 5f 46 49 4c 45 20  LOPT_NETRC_FILE 
0d60: 43 55 52 4c 4f 50 54 5f 55 53 45 5f 53 53 4c 0a  CURLOPT_USE_SSL.
0d70: 09 20 20 43 55 52 4c 4f 50 54 5f 50 4f 53 54 46  .  CURLOPT_POSTF
0d80: 49 45 4c 44 53 49 5a 45 5f 4c 41 52 47 45 20 43  IELDSIZE_LARGE C
0d90: 55 52 4c 4f 50 54 5f 54 43 50 5f 4e 4f 44 45 4c  URLOPT_TCP_NODEL
0da0: 41 59 20 43 55 52 4c 4f 50 54 5f 46 54 50 53 53  AY CURLOPT_FTPSS
0db0: 4c 41 55 54 48 0a 09 20 20 43 55 52 4c 4f 50 54  LAUTH..  CURLOPT
0dc0: 5f 49 4f 43 54 4c 46 55 4e 43 54 49 4f 4e 20 43  _IOCTLFUNCTION C
0dd0: 55 52 4c 4f 50 54 5f 49 4f 43 54 4c 44 41 54 41  URLOPT_IOCTLDATA
0de0: 20 43 55 52 4c 4f 50 54 5f 46 54 50 5f 41 43 43   CURLOPT_FTP_ACC
0df0: 4f 55 4e 54 0a 09 20 20 43 55 52 4c 4f 50 54 5f  OUNT..  CURLOPT_
0e00: 43 4f 4f 4b 49 45 4c 49 53 54 20 43 55 52 4c 4f  COOKIELIST CURLO
0e10: 50 54 5f 49 47 4e 4f 52 45 5f 43 4f 4e 54 45 4e  PT_IGNORE_CONTEN
0e20: 54 5f 4c 45 4e 47 54 48 0a 09 20 20 43 55 52 4c  T_LENGTH..  CURL
0e30: 4f 50 54 5f 46 54 50 5f 53 4b 49 50 5f 50 41 53  OPT_FTP_SKIP_PAS
0e40: 56 5f 49 50 20 43 55 52 4c 4f 50 54 5f 46 54 50  V_IP CURLOPT_FTP
0e50: 5f 46 49 4c 45 4d 45 54 48 4f 44 20 43 55 52 4c  _FILEMETHOD CURL
0e60: 4f 50 54 5f 4c 4f 43 41 4c 50 4f 52 54 0a 09 20  OPT_LOCALPORT.. 
0e70: 20 43 55 52 4c 4f 50 54 5f 4c 4f 43 41 4c 50 4f   CURLOPT_LOCALPO
0e80: 52 54 52 41 4e 47 45 20 43 55 52 4c 4f 50 54 5f  RTRANGE CURLOPT_
0e90: 43 4f 4e 4e 45 43 54 5f 4f 4e 4c 59 0a 09 20 20  CONNECT_ONLY..  
0ea0: 43 55 52 4c 4f 50 54 5f 43 4f 4e 56 5f 46 52 4f  CURLOPT_CONV_FRO
0eb0: 4d 5f 4e 45 54 57 4f 52 4b 5f 46 55 4e 43 54 49  M_NETWORK_FUNCTI
0ec0: 4f 4e 20 43 55 52 4c 4f 50 54 5f 43 4f 4e 56 5f  ON CURLOPT_CONV_
0ed0: 54 4f 5f 4e 45 54 57 4f 52 4b 5f 46 55 4e 43 54  TO_NETWORK_FUNCT
0ee0: 49 4f 4e 0a 09 20 20 43 55 52 4c 4f 50 54 5f 43  ION..  CURLOPT_C
0ef0: 4f 4e 56 5f 46 52 4f 4d 5f 55 54 46 38 5f 46 55  ONV_FROM_UTF8_FU
0f00: 4e 43 54 49 4f 4e 20 43 55 52 4c 4f 50 54 5f 4d  NCTION CURLOPT_M
0f10: 41 58 5f 53 45 4e 44 5f 53 50 45 45 44 5f 4c 41  AX_SEND_SPEED_LA
0f20: 52 47 45 0a 09 20 20 43 55 52 4c 4f 50 54 5f 4d  RGE..  CURLOPT_M
0f30: 41 58 5f 52 45 43 56 5f 53 50 45 45 44 5f 4c 41  AX_RECV_SPEED_LA
0f40: 52 47 45 20 43 55 52 4c 4f 50 54 5f 46 54 50 5f  RGE CURLOPT_FTP_
0f50: 41 4c 54 45 52 4e 41 54 49 56 45 5f 54 4f 5f 55  ALTERNATIVE_TO_U
0f60: 53 45 52 0a 09 20 20 43 55 52 4c 4f 50 54 5f 53  SER..  CURLOPT_S
0f70: 4f 43 4b 4f 50 54 46 55 4e 43 54 49 4f 4e 20 43  OCKOPTFUNCTION C
0f80: 55 52 4c 4f 50 54 5f 53 4f 43 4b 4f 50 54 44 41  URLOPT_SOCKOPTDA
0f90: 54 41 0a 09 20 20 43 55 52 4c 4f 50 54 5f 53 53  TA..  CURLOPT_SS
0fa0: 4c 5f 53 45 53 53 49 4f 4e 49 44 5f 43 41 43 48  L_SESSIONID_CACH
0fb0: 45 20 43 55 52 4c 4f 50 54 5f 53 53 48 5f 41 55  E CURLOPT_SSH_AU
0fc0: 54 48 5f 54 59 50 45 53 0a 09 20 20 43 55 52 4c  TH_TYPES..  CURL
0fd0: 4f 50 54 5f 53 53 48 5f 50 55 42 4c 49 43 5f 4b  OPT_SSH_PUBLIC_K
0fe0: 45 59 46 49 4c 45 20 43 55 52 4c 4f 50 54 5f 53  EYFILE CURLOPT_S
0ff0: 53 48 5f 50 52 49 56 41 54 45 5f 4b 45 59 46 49  SH_PRIVATE_KEYFI
1000: 4c 45 0a 09 20 20 43 55 52 4c 4f 50 54 5f 46 54  LE..  CURLOPT_FT
1010: 50 5f 53 53 4c 5f 43 43 43 20 43 55 52 4c 4f 50  P_SSL_CCC CURLOP
1020: 54 5f 54 49 4d 45 4f 55 54 5f 4d 53 20 43 55 52  T_TIMEOUT_MS CUR
1030: 4c 4f 50 54 5f 43 4f 4e 4e 45 43 54 54 49 4d 45  LOPT_CONNECTTIME
1040: 4f 55 54 5f 4d 53 0a 09 20 20 43 55 52 4c 4f 50  OUT_MS..  CURLOP
1050: 54 5f 48 54 54 50 5f 54 52 41 4e 53 46 45 52 5f  T_HTTP_TRANSFER_
1060: 44 45 43 4f 44 49 4e 47 20 43 55 52 4c 4f 50 54  DECODING CURLOPT
1070: 5f 48 54 54 50 5f 43 4f 4e 54 45 4e 54 5f 44 45  _HTTP_CONTENT_DE
1080: 43 4f 44 49 4e 47 0a 09 20 20 43 55 52 4c 4f 50  CODING..  CURLOP
1090: 54 5f 4e 45 57 5f 46 49 4c 45 5f 50 45 52 4d 53  T_NEW_FILE_PERMS
10a0: 20 43 55 52 4c 4f 50 54 5f 4e 45 57 5f 44 49 52   CURLOPT_NEW_DIR
10b0: 45 43 54 4f 52 59 5f 50 45 52 4d 53 20 43 55 52  ECTORY_PERMS CUR
10c0: 4c 4f 50 54 5f 50 4f 53 54 52 45 44 49 52 0a 09  LOPT_POSTREDIR..
10d0: 20 20 43 55 52 4c 4f 50 54 5f 53 53 48 5f 48 4f    CURLOPT_SSH_HO
10e0: 53 54 5f 50 55 42 4c 49 43 5f 4b 45 59 5f 4d 44  ST_PUBLIC_KEY_MD
10f0: 35 20 43 55 52 4c 4f 50 54 5f 4f 50 45 4e 53 4f  5 CURLOPT_OPENSO
1100: 43 4b 45 54 46 55 4e 43 54 49 4f 4e 0a 09 20 20  CKETFUNCTION..  
1110: 43 55 52 4c 4f 50 54 5f 4f 50 45 4e 53 4f 43 4b  CURLOPT_OPENSOCK
1120: 45 54 44 41 54 41 20 43 55 52 4c 4f 50 54 5f 43  ETDATA CURLOPT_C
1130: 4f 50 59 50 4f 53 54 46 49 45 4c 44 53 0a 09 20  OPYPOSTFIELDS.. 
1140: 20 43 55 52 4c 4f 50 54 5f 50 52 4f 58 59 5f 54   CURLOPT_PROXY_T
1150: 52 41 4e 53 46 45 52 5f 4d 4f 44 45 20 43 55 52  RANSFER_MODE CUR
1160: 4c 4f 50 54 5f 53 45 45 4b 46 55 4e 43 54 49 4f  LOPT_SEEKFUNCTIO
1170: 4e 20 43 55 52 4c 4f 50 54 5f 53 45 45 4b 44 41  N CURLOPT_SEEKDA
1180: 54 41 0a 09 20 20 43 55 52 4c 4f 50 54 5f 43 52  TA..  CURLOPT_CR
1190: 4c 46 49 4c 45 20 43 55 52 4c 4f 50 54 5f 49 53  LFILE CURLOPT_IS
11a0: 53 55 45 52 43 45 52 54 20 43 55 52 4c 4f 50 54  SUERCERT CURLOPT
11b0: 5f 41 44 44 52 45 53 53 5f 53 43 4f 50 45 0a 09  _ADDRESS_SCOPE..
11c0: 20 20 43 55 52 4c 4f 50 54 5f 43 45 52 54 49 4e    CURLOPT_CERTIN
11d0: 46 4f 20 43 55 52 4c 4f 50 54 5f 55 53 45 52 4e  FO CURLOPT_USERN
11e0: 41 4d 45 20 43 55 52 4c 4f 50 54 5f 50 41 53 53  AME CURLOPT_PASS
11f0: 57 4f 52 44 0a 09 20 20 43 55 52 4c 4f 50 54 5f  WORD..  CURLOPT_
1200: 50 52 4f 58 59 55 53 45 52 4e 41 4d 45 20 43 55  PROXYUSERNAME CU
1210: 52 4c 4f 50 54 5f 50 52 4f 58 59 50 41 53 53 57  RLOPT_PROXYPASSW
1220: 4f 52 44 20 43 55 52 4c 4f 50 54 5f 4e 4f 50 52  ORD CURLOPT_NOPR
1230: 4f 58 59 0a 09 20 20 43 55 52 4c 4f 50 54 5f 54  OXY..  CURLOPT_T
1240: 46 54 50 5f 42 4c 4b 53 49 5a 45 20 43 55 52 4c  FTP_BLKSIZE CURL
1250: 4f 50 54 5f 53 4f 43 4b 53 35 5f 47 53 53 41 50  OPT_SOCKS5_GSSAP
1260: 49 5f 53 45 52 56 49 43 45 0a 09 20 20 43 55 52  I_SERVICE..  CUR
1270: 4c 4f 50 54 5f 53 4f 43 4b 53 35 5f 47 53 53 41  LOPT_SOCKS5_GSSA
1280: 50 49 5f 4e 45 43 20 43 55 52 4c 4f 50 54 5f 50  PI_NEC CURLOPT_P
1290: 52 4f 54 4f 43 4f 4c 53 20 43 55 52 4c 4f 50 54  ROTOCOLS CURLOPT
12a0: 5f 52 45 44 49 52 5f 50 52 4f 54 4f 43 4f 4c 53  _REDIR_PROTOCOLS
12b0: 0a 09 20 20 43 55 52 4c 4f 50 54 5f 53 53 48 5f  ..  CURLOPT_SSH_
12c0: 4b 4e 4f 57 4e 48 4f 53 54 53 20 43 55 52 4c 4f  KNOWNHOSTS CURLO
12d0: 50 54 5f 53 53 48 5f 4b 45 59 46 55 4e 43 54 49  PT_SSH_KEYFUNCTI
12e0: 4f 4e 20 43 55 52 4c 4f 50 54 5f 53 53 48 5f 4b  ON CURLOPT_SSH_K
12f0: 45 59 44 41 54 41 0a 09 20 20 43 55 52 4c 4f 50  EYDATA..  CURLOP
1300: 54 5f 4d 41 49 4c 5f 46 52 4f 4d 20 43 55 52 4c  T_MAIL_FROM CURL
1310: 4f 50 54 5f 4d 41 49 4c 5f 52 43 50 54 20 43 55  OPT_MAIL_RCPT CU
1320: 52 4c 4f 50 54 5f 46 54 50 5f 55 53 45 5f 50 52  RLOPT_FTP_USE_PR
1330: 45 54 0a 09 20 20 43 55 52 4c 4f 50 54 5f 52 54  ET..  CURLOPT_RT
1340: 53 50 5f 52 45 51 55 45 53 54 20 43 55 52 4c 4f  SP_REQUEST CURLO
1350: 50 54 5f 52 54 53 50 5f 53 45 53 53 49 4f 4e 5f  PT_RTSP_SESSION_
1360: 49 44 20 43 55 52 4c 4f 50 54 5f 52 54 53 50 5f  ID CURLOPT_RTSP_
1370: 53 54 52 45 41 4d 5f 55 52 49 0a 09 20 20 43 55  STREAM_URI..  CU
1380: 52 4c 4f 50 54 5f 52 54 53 50 5f 54 52 41 4e 53  RLOPT_RTSP_TRANS
1390: 50 4f 52 54 20 43 55 52 4c 4f 50 54 5f 52 54 53  PORT CURLOPT_RTS
13a0: 50 5f 43 4c 49 45 4e 54 5f 43 53 45 51 0a 09 20  P_CLIENT_CSEQ.. 
13b0: 20 43 55 52 4c 4f 50 54 5f 52 54 53 50 5f 53 45   CURLOPT_RTSP_SE
13c0: 52 56 45 52 5f 43 53 45 51 20 43 55 52 4c 4f 50  RVER_CSEQ CURLOP
13d0: 54 5f 49 4e 54 45 52 4c 45 41 56 45 44 41 54 41  T_INTERLEAVEDATA
13e0: 0a 09 20 20 43 55 52 4c 4f 50 54 5f 49 4e 54 45  ..  CURLOPT_INTE
13f0: 52 4c 45 41 56 45 46 55 4e 43 54 49 4f 4e 20 43  RLEAVEFUNCTION C
1400: 55 52 4c 4f 50 54 5f 57 49 4c 44 43 41 52 44 4d  URLOPT_WILDCARDM
1410: 41 54 43 48 0a 09 20 20 43 55 52 4c 4f 50 54 5f  ATCH..  CURLOPT_
1420: 43 48 55 4e 4b 5f 42 47 4e 5f 46 55 4e 43 54 49  CHUNK_BGN_FUNCTI
1430: 4f 4e 20 43 55 52 4c 4f 50 54 5f 43 48 55 4e 4b  ON CURLOPT_CHUNK
1440: 5f 45 4e 44 5f 46 55 4e 43 54 49 4f 4e 0a 09 20  _END_FUNCTION.. 
1450: 20 43 55 52 4c 4f 50 54 5f 46 4e 4d 41 54 43 48   CURLOPT_FNMATCH
1460: 5f 46 55 4e 43 54 49 4f 4e 20 43 55 52 4c 4f 50  _FUNCTION CURLOP
1470: 54 5f 43 48 55 4e 4b 5f 44 41 54 41 20 43 55 52  T_CHUNK_DATA CUR
1480: 4c 4f 50 54 5f 46 4e 4d 41 54 43 48 5f 44 41 54  LOPT_FNMATCH_DAT
1490: 41 0a 09 20 20 43 55 52 4c 4f 50 54 5f 52 45 53  A..  CURLOPT_RES
14a0: 4f 4c 56 45 20 43 55 52 4c 4f 50 54 5f 54 4c 53  OLVE CURLOPT_TLS
14b0: 41 55 54 48 5f 55 53 45 52 4e 41 4d 45 20 43 55  AUTH_USERNAME CU
14c0: 52 4c 4f 50 54 5f 54 4c 53 41 55 54 48 5f 50 41  RLOPT_TLSAUTH_PA
14d0: 53 53 57 4f 52 44 0a 09 20 20 43 55 52 4c 4f 50  SSWORD..  CURLOP
14e0: 54 5f 54 4c 53 41 55 54 48 5f 54 59 50 45 20 43  T_TLSAUTH_TYPE C
14f0: 55 52 4c 4f 50 54 5f 54 52 41 4e 53 46 45 52 5f  URLOPT_TRANSFER_
1500: 45 4e 43 4f 44 49 4e 47 0a 09 20 20 43 55 52 4c  ENCODING..  CURL
1510: 4f 50 54 5f 43 4c 4f 53 45 53 4f 43 4b 45 54 46  OPT_CLOSESOCKETF
1520: 55 4e 43 54 49 4f 4e 20 43 55 52 4c 4f 50 54 5f  UNCTION CURLOPT_
1530: 43 4c 4f 53 45 53 4f 43 4b 45 54 44 41 54 41 0a  CLOSESOCKETDATA.
1540: 09 20 20 43 55 52 4c 4f 50 54 5f 47 53 53 41 50  .  CURLOPT_GSSAP
1550: 49 5f 44 45 4c 45 47 41 54 49 4f 4e 20 43 55 52  I_DELEGATION CUR
1560: 4c 4f 50 54 5f 44 4e 53 5f 53 45 52 56 45 52 53  LOPT_DNS_SERVERS
1570: 20 43 55 52 4c 4f 50 54 5f 41 43 43 45 50 54 54   CURLOPT_ACCEPTT
1580: 49 4d 45 4f 55 54 5f 4d 53 0a 09 20 20 43 55 52  IMEOUT_MS..  CUR
1590: 4c 4f 50 54 5f 54 43 50 5f 4b 45 45 50 41 4c 49  LOPT_TCP_KEEPALI
15a0: 56 45 20 43 55 52 4c 4f 50 54 5f 54 43 50 5f 4b  VE CURLOPT_TCP_K
15b0: 45 45 50 49 44 4c 45 20 43 55 52 4c 4f 50 54 5f  EEPIDLE CURLOPT_
15c0: 54 43 50 5f 4b 45 45 50 49 4e 54 56 4c 0a 09 20  TCP_KEEPINTVL.. 
15d0: 20 43 55 52 4c 4f 50 54 5f 53 53 4c 5f 4f 50 54   CURLOPT_SSL_OPT
15e0: 49 4f 4e 53 20 43 55 52 4c 4f 50 54 5f 4d 41 49  IONS CURLOPT_MAI
15f0: 4c 5f 41 55 54 48 20 43 55 52 4c 4f 50 54 5f 53  L_AUTH CURLOPT_S
1600: 41 53 4c 5f 49 52 0a 09 20 20 43 55 52 4c 4f 50  ASL_IR..  CURLOP
1610: 54 5f 58 46 45 52 49 4e 46 4f 46 55 4e 43 54 49  T_XFERINFOFUNCTI
1620: 4f 4e 20 43 55 52 4c 4f 50 54 5f 58 4f 41 55 54  ON CURLOPT_XOAUT
1630: 48 32 5f 42 45 41 52 45 52 20 43 55 52 4c 4f 50  H2_BEARER CURLOP
1640: 54 5f 44 4e 53 5f 49 4e 54 45 52 46 41 43 45 0a  T_DNS_INTERFACE.
1650: 09 20 20 43 55 52 4c 4f 50 54 5f 44 4e 53 5f 4c  .  CURLOPT_DNS_L
1660: 4f 43 41 4c 5f 49 50 34 20 43 55 52 4c 4f 50 54  OCAL_IP4 CURLOPT
1670: 5f 44 4e 53 5f 4c 4f 43 41 4c 5f 49 50 36 20 43  _DNS_LOCAL_IP6 C
1680: 55 52 4c 4f 50 54 5f 4c 4f 47 49 4e 5f 4f 50 54  URLOPT_LOGIN_OPT
1690: 49 4f 4e 53 0a 09 20 20 43 55 52 4c 4f 50 54 5f  IONS..  CURLOPT_
16a0: 53 53 4c 5f 45 4e 41 42 4c 45 5f 4e 50 4e 20 43  SSL_ENABLE_NPN C
16b0: 55 52 4c 4f 50 54 5f 53 53 4c 5f 45 4e 41 42 4c  URLOPT_SSL_ENABL
16c0: 45 5f 41 4c 50 4e 0a 09 20 20 43 55 52 4c 4f 50  E_ALPN..  CURLOP
16d0: 54 5f 45 58 50 45 43 54 5f 31 30 30 5f 54 49 4d  T_EXPECT_100_TIM
16e0: 45 4f 55 54 5f 4d 53 20 43 55 52 4c 4f 50 54 5f  EOUT_MS CURLOPT_
16f0: 50 52 4f 58 59 48 45 41 44 45 52 20 43 55 52 4c  PROXYHEADER CURL
1700: 4f 50 54 5f 48 45 41 44 45 52 4f 50 54 0a 09 20  OPT_HEADEROPT.. 
1710: 20 43 55 52 4c 4f 50 54 5f 50 49 4e 4e 45 44 50   CURLOPT_PINNEDP
1720: 55 42 4c 49 43 4b 45 59 20 43 55 52 4c 4f 50 54  UBLICKEY CURLOPT
1730: 5f 55 4e 49 58 5f 53 4f 43 4b 45 54 5f 50 41 54  _UNIX_SOCKET_PAT
1740: 48 0a 09 20 20 43 55 52 4c 4f 50 54 5f 53 53 4c  H..  CURLOPT_SSL
1750: 5f 56 45 52 49 46 59 53 54 41 54 55 53 20 43 55  _VERIFYSTATUS CU
1760: 52 4c 4f 50 54 5f 53 53 4c 5f 46 41 4c 53 45 53  RLOPT_SSL_FALSES
1770: 54 41 52 54 20 43 55 52 4c 4f 50 54 5f 50 41 54  TART CURLOPT_PAT
1780: 48 5f 41 53 5f 49 53 0a 09 20 20 43 55 52 4c 4f  H_AS_IS..  CURLO
1790: 50 54 5f 50 52 4f 58 59 5f 53 45 52 56 49 43 45  PT_PROXY_SERVICE
17a0: 5f 4e 41 4d 45 20 43 55 52 4c 4f 50 54 5f 53 45  _NAME CURLOPT_SE
17b0: 52 56 49 43 45 5f 4e 41 4d 45 20 43 55 52 4c 4f  RVICE_NAME CURLO
17c0: 50 54 5f 50 49 50 45 57 41 49 54 0a 09 20 20 43  PT_PIPEWAIT..  C
17d0: 55 52 4c 4f 50 54 5f 44 45 46 41 55 4c 54 5f 50  URLOPT_DEFAULT_P
17e0: 52 4f 54 4f 43 4f 4c 20 43 55 52 4c 4f 50 54 5f  ROTOCOL CURLOPT_
17f0: 53 54 52 45 41 4d 5f 57 45 49 47 48 54 20 43 55  STREAM_WEIGHT CU
1800: 52 4c 4f 50 54 5f 53 54 52 45 41 4d 5f 44 45 50  RLOPT_STREAM_DEP
1810: 45 4e 44 53 0a 09 20 20 43 55 52 4c 4f 50 54 5f  ENDS..  CURLOPT_
1820: 53 54 52 45 41 4d 5f 44 45 50 45 4e 44 53 5f 45  STREAM_DEPENDS_E
1830: 20 43 55 52 4c 4f 50 54 5f 54 46 54 50 5f 4e 4f   CURLOPT_TFTP_NO
1840: 5f 4f 50 54 49 4f 4e 53 20 43 55 52 4c 4f 50 54  _OPTIONS CURLOPT
1850: 5f 43 4f 4e 4e 45 43 54 5f 54 4f 0a 09 20 20 43  _CONNECT_TO..  C
1860: 55 52 4c 4f 50 54 5f 54 43 50 5f 46 41 53 54 4f  URLOPT_TCP_FASTO
1870: 50 45 4e 0a 0a 09 20 20 43 55 52 4c 50 52 4f 54  PEN...  CURLPROT
1880: 4f 5f 48 54 54 50 20 43 55 52 4c 50 52 4f 54 4f  O_HTTP CURLPROTO
1890: 5f 48 54 54 50 53 20 43 55 52 4c 50 52 4f 54 4f  _HTTPS CURLPROTO
18a0: 5f 46 54 50 20 43 55 52 4c 50 52 4f 54 4f 5f 46  _FTP CURLPROTO_F
18b0: 54 50 53 0a 09 20 20 43 55 52 4c 50 52 4f 54 4f  TPS..  CURLPROTO
18c0: 5f 53 43 50 20 43 55 52 4c 50 52 4f 54 4f 5f 53  _SCP CURLPROTO_S
18d0: 46 54 50 20 43 55 52 4c 50 52 4f 54 4f 5f 54 45  FTP CURLPROTO_TE
18e0: 4c 4e 45 54 20 43 55 52 4c 50 52 4f 54 4f 5f 4c  LNET CURLPROTO_L
18f0: 44 41 50 0a 09 20 20 43 55 52 4c 50 52 4f 54 4f  DAP..  CURLPROTO
1900: 5f 4c 44 41 50 53 20 43 55 52 4c 50 52 4f 54 4f  _LDAPS CURLPROTO
1910: 5f 44 49 43 54 20 43 55 52 4c 50 52 4f 54 4f 5f  _DICT CURLPROTO_
1920: 46 49 4c 45 20 43 55 52 4c 50 52 4f 54 4f 5f 54  FILE CURLPROTO_T
1930: 46 54 50 0a 09 20 20 43 55 52 4c 50 52 4f 54 4f  FTP..  CURLPROTO
1940: 5f 49 4d 41 50 20 43 55 52 4c 50 52 4f 54 4f 5f  _IMAP CURLPROTO_
1950: 49 4d 41 50 53 20 43 55 52 4c 50 52 4f 54 4f 5f  IMAPS CURLPROTO_
1960: 50 4f 50 33 20 43 55 52 4c 50 52 4f 54 4f 5f 50  POP3 CURLPROTO_P
1970: 4f 50 33 53 0a 09 20 20 43 55 52 4c 50 52 4f 54  OP3S..  CURLPROT
1980: 4f 5f 53 4d 54 50 20 43 55 52 4c 50 52 4f 54 4f  O_SMTP CURLPROTO
1990: 5f 53 4d 54 50 53 0a 0a 09 20 20 43 55 52 4c 63  _SMTPS...  CURLc
19a0: 6f 64 65 29 0a 20 20 0a 20 20 28 69 6d 70 6f 72  ode).  .  (impor
19b0: 74 20 28 63 68 65 7a 73 63 68 65 6d 65 29 0a 09  t (chezscheme)..
19c0: 20 20 28 66 66 69 2d 75 74 69 6c 73 29 29 0a 0a    (ffi-utils))..
19d0: 20 20 28 64 65 66 69 6e 65 2d 66 74 79 70 65 20    (define-ftype 
19e0: 43 55 52 4c 20 28 73 74 72 75 63 74 29 29 0a 20  CURL (struct)). 
19f0: 20 28 64 65 66 69 6e 65 2d 66 74 79 70 65 20 43   (define-ftype C
1a00: 55 52 4c 6f 70 74 69 6f 6e 20 69 6e 74 29 0a 0a  URLoption int)..
1a10: 20 20 28 64 65 66 69 6e 65 20 43 55 52 4c 50 52    (define CURLPR
1a20: 4f 54 4f 5f 48 54 54 50 20 20 31 29 0a 20 20 28  OTO_HTTP  1).  (
1a30: 64 65 66 69 6e 65 20 43 55 52 4c 50 52 4f 54 4f  define CURLPROTO
1a40: 5f 48 54 54 50 53 20 32 29 20 20 0a 20 20 28 64  _HTTPS 2)  .  (d
1a50: 65 66 69 6e 65 20 43 55 52 4c 50 52 4f 54 4f 5f  efine CURLPROTO_
1a60: 46 54 50 20 20 20 34 29 0a 20 20 28 64 65 66 69  FTP   4).  (defi
1a70: 6e 65 20 43 55 52 4c 50 52 4f 54 4f 5f 46 54 50  ne CURLPROTO_FTP
1a80: 53 20 20 38 29 0a 20 20 28 64 65 66 69 6e 65 20  S  8).  (define 
1a90: 43 55 52 4c 50 52 4f 54 4f 5f 53 43 50 20 20 31  CURLPROTO_SCP  1
1aa0: 36 29 0a 20 20 28 64 65 66 69 6e 65 20 43 55 52  6).  (define CUR
1ab0: 4c 50 52 4f 54 4f 5f 53 46 54 50 20 33 32 29 0a  LPROTO_SFTP 32).
1ac0: 20 20 28 64 65 66 69 6e 65 20 43 55 52 4c 50 52    (define CURLPR
1ad0: 4f 54 4f 5f 54 45 4c 4e 45 54 20 36 34 29 0a 20  OTO_TELNET 64). 
1ae0: 20 28 64 65 66 69 6e 65 20 43 55 52 4c 50 52 4f   (define CURLPRO
1af0: 54 4f 5f 4c 44 41 50 20 31 32 38 29 0a 20 20 28  TO_LDAP 128).  (
1b00: 64 65 66 69 6e 65 20 43 55 52 4c 50 52 4f 54 4f  define CURLPROTO
1b10: 5f 4c 44 41 50 53 20 32 35 36 29 0a 20 20 28 64  _LDAPS 256).  (d
1b20: 65 66 69 6e 65 20 43 55 52 4c 50 52 4f 54 4f 5f  efine CURLPROTO_
1b30: 44 49 43 54 20 35 31 32 29 0a 20 20 28 64 65 66  DICT 512).  (def
1b40: 69 6e 65 20 43 55 52 4c 50 52 4f 54 4f 5f 46 49  ine CURLPROTO_FI
1b50: 4c 45 20 31 30 32 34 29 0a 20 20 28 64 65 66 69  LE 1024).  (defi
1b60: 6e 65 20 43 55 52 4c 50 52 4f 54 4f 5f 54 46 54  ne CURLPROTO_TFT
1b70: 50 20 32 30 34 38 29 0a 20 20 28 64 65 66 69 6e  P 2048).  (defin
1b80: 65 20 43 55 52 4c 50 52 4f 54 4f 5f 49 4d 41 50  e CURLPROTO_IMAP
1b90: 20 20 34 30 39 36 29 0a 20 20 28 64 65 66 69 6e    4096).  (defin
1ba0: 65 20 43 55 52 4c 50 52 4f 54 4f 5f 49 4d 41 50  e CURLPROTO_IMAP
1bb0: 53 20 38 31 39 32 29 0a 20 20 28 64 65 66 69 6e  S 8192).  (defin
1bc0: 65 20 43 55 52 4c 50 52 4f 54 4f 5f 50 4f 50 33  e CURLPROTO_POP3
1bd0: 20 31 36 33 38 34 29 0a 20 20 28 64 65 66 69 6e   16384).  (defin
1be0: 65 20 43 55 52 4c 50 52 4f 54 4f 5f 50 4f 50 33  e CURLPROTO_POP3
1bf0: 53 20 33 32 37 36 38 29 0a 20 20 28 64 65 66 69  S 32768).  (defi
1c00: 6e 65 20 43 55 52 4c 50 52 4f 54 4f 5f 53 4d 54  ne CURLPROTO_SMT
1c10: 50 20 36 35 35 33 36 29 0a 20 20 28 64 65 66 69  P 65536).  (defi
1c20: 6e 65 20 43 55 52 4c 50 52 4f 54 4f 5f 53 4d 54  ne CURLPROTO_SMT
1c30: 50 53 20 31 33 31 30 37 32 29 0a 20 20 0a 20 20  PS 131072).  .  
1c40: 28 64 65 66 69 6e 65 2d 65 6e 75 6d 65 72 61 74  (define-enumerat
1c50: 69 6f 6e 2a 20 43 55 52 4c 55 53 45 53 53 4c 0a  ion* CURLUSESSL.
1c60: 20 20 20 20 28 4e 4f 4e 45 20 54 52 59 20 43 4f      (NONE TRY CO
1c70: 4e 54 52 4f 4c 20 41 4c 4c 20 4c 41 53 54 29 29  NTROL ALL LAST))
1c80: 0a 0a 20 20 28 64 65 66 69 6e 65 2d 65 6e 75 6d  ..  (define-enum
1c90: 65 72 61 74 69 6f 6e 2a 20 43 55 52 4c 63 6f 64  eration* CURLcod
1ca0: 65 0a 20 20 20 20 28 43 55 52 4c 45 5f 4f 4b 0a  e.    (CURLE_OK.
1cb0: 20 20 20 20 20 43 55 52 4c 45 5f 55 4e 53 55 50       CURLE_UNSUP
1cc0: 50 4f 52 54 45 44 5f 50 52 4f 54 4f 43 4f 4c 20  PORTED_PROTOCOL 
1cd0: 20 20 3b 20 20 2f 2a 20 31 20 2a 2f 0a 20 20 20    ;  /* 1 */.   
1ce0: 20 20 43 55 52 4c 45 5f 46 41 49 4c 45 44 5f 49    CURLE_FAILED_I
1cf0: 4e 49 54 20 20 20 3b 20 20 20 20 20 20 20 20 20  NIT   ;         
1d00: 20 20 2f 2a 20 32 20 2a 2f 0a 20 20 20 20 20 43    /* 2 */.     C
1d10: 55 52 4c 45 5f 55 52 4c 5f 4d 41 4c 46 4f 52 4d  URLE_URL_MALFORM
1d20: 41 54 20 20 20 3b 20 20 20 20 20 20 20 20 20 2f  AT   ;         /
1d30: 2a 20 33 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c  * 3 */.     CURL
1d40: 45 5f 4e 4f 54 5f 42 55 49 4c 54 5f 49 4e 20 20  E_NOT_BUILT_IN  
1d50: 20 3b 20 20 20 20 20 20 20 20 20 20 2f 2a 20 34   ;          /* 4
1d60: 20 2d 20 5b 77 61 73 20 6f 62 73 6f 6c 65 74 65   - [was obsolete
1d70: 64 20 69 6e 20 41 75 67 75 73 74 20 32 30 30 37  d in August 2007
1d80: 20 66 6f 72 0a 09 09 09 09 09 3b 20 37 2e 31 37   for......; 7.17
1d90: 2e 30 2c 20 72 65 75 73 65 64 20 69 6e 20 41 70  .0, reused in Ap
1da0: 72 69 6c 20 32 30 31 31 20 66 6f 72 20 37 2e 32  ril 2011 for 7.2
1db0: 31 2e 35 5d 20 2a 2f 0a 20 20 20 20 20 43 55 52  1.5] */.     CUR
1dc0: 4c 45 5f 43 4f 55 4c 44 4e 54 5f 52 45 53 4f 4c  LE_COULDNT_RESOL
1dd0: 56 45 5f 50 52 4f 58 59 20 20 20 3b 20 2f 2a 20  VE_PROXY   ; /* 
1de0: 35 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f  5 */.     CURLE_
1df0: 43 4f 55 4c 44 4e 54 5f 52 45 53 4f 4c 56 45 5f  COULDNT_RESOLVE_
1e00: 48 4f 53 54 20 20 20 3b 20 20 2f 2a 20 36 20 2a  HOST   ;  /* 6 *
1e10: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 43 4f 55  /.     CURLE_COU
1e20: 4c 44 4e 54 5f 43 4f 4e 4e 45 43 54 20 20 20 3b  LDNT_CONNECT   ;
1e30: 20 20 20 20 20 20 20 2f 2a 20 37 20 2a 2f 0a 20         /* 7 */. 
1e40: 20 20 20 20 43 55 52 4c 45 5f 57 45 49 52 44 5f      CURLE_WEIRD_
1e50: 53 45 52 56 45 52 5f 52 45 50 4c 59 20 20 20 3b  SERVER_REPLY   ;
1e60: 20 20 20 20 2f 2a 20 38 20 2a 2f 0a 20 20 20 20      /* 8 */.    
1e70: 20 43 55 52 4c 45 5f 52 45 4d 4f 54 45 5f 41 43   CURLE_REMOTE_AC
1e80: 43 45 53 53 5f 44 45 4e 49 45 44 20 20 20 3b 20  CESS_DENIED   ; 
1e90: 20 2f 2a 20 39 20 61 20 73 65 72 76 69 63 65 20   /* 9 a service 
1ea0: 77 61 73 20 64 65 6e 69 65 64 20 62 79 20 74 68  was denied by th
1eb0: 65 20 73 65 72 76 65 72 0a 09 09 09 09 09 3b 20  e server......; 
1ec0: 20 64 75 65 20 74 6f 20 6c 61 63 6b 20 6f 66 20   due to lack of 
1ed0: 61 63 63 65 73 73 20 2d 20 77 68 65 6e 20 6c 6f  access - when lo
1ee0: 67 69 6e 20 66 61 69 6c 73 0a 09 09 09 09 09 3b  gin fails......;
1ef0: 20 20 74 68 69 73 20 69 73 20 6e 6f 74 20 72 65    this is not re
1f00: 74 75 72 6e 65 64 2e 20 2a 2f 0a 20 20 20 20 20  turned. */.     
1f10: 43 55 52 4c 45 5f 46 54 50 5f 41 43 43 45 50 54  CURLE_FTP_ACCEPT
1f20: 5f 46 41 49 4c 45 44 20 20 20 3b 20 20 20 20 20  _FAILED   ;     
1f30: 2f 2a 20 31 30 20 2d 20 5b 77 61 73 20 6f 62 73  /* 10 - [was obs
1f40: 6f 6c 65 74 65 64 20 69 6e 20 41 70 72 69 6c 20  oleted in April 
1f50: 32 30 30 36 20 66 6f 72 0a 09 09 09 09 09 3b 20  2006 for......; 
1f60: 20 37 2e 31 35 2e 34 2c 20 72 65 75 73 65 64 20   7.15.4, reused 
1f70: 69 6e 20 44 65 63 20 32 30 31 31 20 66 6f 72 20  in Dec 2011 for 
1f80: 37 2e 32 34 2e 30 5d 2a 2f 0a 20 20 20 20 20 43  7.24.0]*/.     C
1f90: 55 52 4c 45 5f 46 54 50 5f 57 45 49 52 44 5f 50  URLE_FTP_WEIRD_P
1fa0: 41 53 53 5f 52 45 50 4c 59 20 20 20 3b 20 20 2f  ASS_REPLY   ;  /
1fb0: 2a 20 31 31 20 2a 2f 0a 20 20 20 20 20 43 55 52  * 11 */.     CUR
1fc0: 4c 45 5f 46 54 50 5f 41 43 43 45 50 54 5f 54 49  LE_FTP_ACCEPT_TI
1fd0: 4d 45 4f 55 54 20 20 20 3b 20 20 20 20 2f 2a 20  MEOUT   ;    /* 
1fe0: 31 32 20 2d 20 74 69 6d 65 6f 75 74 20 6f 63 63  12 - timeout occ
1ff0: 75 72 72 65 64 20 61 63 63 65 70 74 69 6e 67 20  urred accepting 
2000: 73 65 72 76 65 72 0a 09 09 09 09 09 3b 20 20 5b  server......;  [
2010: 77 61 73 20 6f 62 73 6f 6c 65 74 65 64 20 69 6e  was obsoleted in
2020: 20 41 75 67 75 73 74 20 32 30 30 37 20 66 6f 72   August 2007 for
2030: 20 37 2e 31 37 2e 30 2c 0a 09 09 09 09 09 3b 20   7.17.0,......; 
2040: 20 72 65 75 73 65 64 20 69 6e 20 44 65 63 20 32   reused in Dec 2
2050: 30 31 31 20 66 6f 72 20 37 2e 32 34 2e 30 5d 2a  011 for 7.24.0]*
2060: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 46 54 50  /.     CURLE_FTP
2070: 5f 57 45 49 52 44 5f 50 41 53 56 5f 52 45 50 4c  _WEIRD_PASV_REPL
2080: 59 20 20 20 3b 20 20 2f 2a 20 31 33 20 2a 2f 0a  Y   ;  /* 13 */.
2090: 20 20 20 20 20 43 55 52 4c 45 5f 46 54 50 5f 57       CURLE_FTP_W
20a0: 45 49 52 44 5f 32 32 37 5f 46 4f 52 4d 41 54 20  EIRD_227_FORMAT 
20b0: 20 20 3b 20 20 2f 2a 20 31 34 20 2a 2f 0a 20 20    ;  /* 14 */.  
20c0: 20 20 20 43 55 52 4c 45 5f 46 54 50 5f 43 41 4e     CURLE_FTP_CAN
20d0: 54 5f 47 45 54 5f 48 4f 53 54 20 20 20 3b 20 20  T_GET_HOST   ;  
20e0: 20 20 20 2f 2a 20 31 35 20 2a 2f 0a 20 20 20 20     /* 15 */.    
20f0: 20 43 55 52 4c 45 5f 48 54 54 50 32 20 20 20 3b   CURLE_HTTP2   ;
2100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2110: 20 2f 2a 20 31 36 20 2d 20 41 20 70 72 6f 62 6c   /* 16 - A probl
2120: 65 6d 20 69 6e 20 74 68 65 20 68 74 74 70 32 20  em in the http2 
2130: 66 72 61 6d 69 6e 67 20 6c 61 79 65 72 2e 0a 09  framing layer...
2140: 09 09 09 09 3b 20 20 5b 77 61 73 20 6f 62 73 6f  ....;  [was obso
2150: 6c 65 74 65 64 20 69 6e 20 41 75 67 75 73 74 20  leted in August 
2160: 32 30 30 37 20 66 6f 72 20 37 2e 31 37 2e 30 2c  2007 for 7.17.0,
2170: 0a 09 09 09 09 09 3b 20 20 72 65 75 73 65 64 20  ......;  reused 
2180: 69 6e 20 4a 75 6c 79 20 32 30 31 34 20 66 6f 72  in July 2014 for
2190: 20 37 2e 33 38 2e 30 5d 20 2a 2f 0a 20 20 20 20   7.38.0] */.    
21a0: 20 43 55 52 4c 45 5f 46 54 50 5f 43 4f 55 4c 44   CURLE_FTP_COULD
21b0: 4e 54 5f 53 45 54 5f 54 59 50 45 20 20 20 3b 20  NT_SET_TYPE   ; 
21c0: 20 2f 2a 20 31 37 20 2a 2f 0a 20 20 20 20 20 43   /* 17 */.     C
21d0: 55 52 4c 45 5f 50 41 52 54 49 41 4c 5f 46 49 4c  URLE_PARTIAL_FIL
21e0: 45 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 2f  E   ;          /
21f0: 2a 20 31 38 20 2a 2f 0a 20 20 20 20 20 43 55 52  * 18 */.     CUR
2200: 4c 45 5f 46 54 50 5f 43 4f 55 4c 44 4e 54 5f 52  LE_FTP_COULDNT_R
2210: 45 54 52 5f 46 49 4c 45 20 20 20 3b 20 2f 2a 20  ETR_FILE   ; /* 
2220: 31 39 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45  19 */.     CURLE
2230: 5f 4f 42 53 4f 4c 45 54 45 32 30 20 20 20 3b 20  _OBSOLETE20   ; 
2240: 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 32 30             /* 20
2250: 20 2d 20 4e 4f 54 20 55 53 45 44 20 2a 2f 0a 20   - NOT USED */. 
2260: 20 20 20 20 43 55 52 4c 45 5f 51 55 4f 54 45 5f      CURLE_QUOTE_
2270: 45 52 52 4f 52 20 20 20 3b 20 20 20 20 20 20 20  ERROR   ;       
2280: 20 20 20 20 2f 2a 20 32 31 20 2d 20 71 75 6f 74      /* 21 - quot
2290: 65 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 75 72  e command failur
22a0: 65 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f  e */.     CURLE_
22b0: 48 54 54 50 5f 52 45 54 55 52 4e 45 44 5f 45 52  HTTP_RETURNED_ER
22c0: 52 4f 52 20 20 20 3b 20 20 20 2f 2a 20 32 32 20  ROR   ;   /* 22 
22d0: 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 57 52  */.     CURLE_WR
22e0: 49 54 45 5f 45 52 52 4f 52 20 20 20 3b 20 20 20  ITE_ERROR   ;   
22f0: 20 20 20 20 20 20 20 20 2f 2a 20 32 33 20 2a 2f          /* 23 */
2300: 0a 20 20 20 20 20 43 55 52 4c 45 5f 4f 42 53 4f  .     CURLE_OBSO
2310: 4c 45 54 45 32 34 20 20 20 3b 20 20 20 20 20 20  LETE24   ;      
2320: 20 20 20 20 20 20 2f 2a 20 32 34 20 2d 20 4e 4f        /* 24 - NO
2330: 54 20 55 53 45 44 20 2a 2f 0a 20 20 20 20 20 43  T USED */.     C
2340: 55 52 4c 45 5f 55 50 4c 4f 41 44 5f 46 41 49 4c  URLE_UPLOAD_FAIL
2350: 45 44 20 20 20 3b 20 20 20 20 20 20 20 20 20 2f  ED   ;         /
2360: 2a 20 32 35 20 2d 20 66 61 69 6c 65 64 20 75 70  * 25 - failed up
2370: 6c 6f 61 64 20 22 63 6f 6d 6d 61 6e 64 22 20 2a  load "command" *
2380: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 52 45 41  /.     CURLE_REA
2390: 44 5f 45 52 52 4f 52 20 20 20 3b 20 20 20 20 20  D_ERROR   ;     
23a0: 20 20 20 20 20 20 20 2f 2a 20 32 36 20 2d 20 63         /* 26 - c
23b0: 6f 75 6c 64 6e 27 74 20 6f 70 65 6e 2f 72 65 61  ouldn't open/rea
23c0: 64 20 66 72 6f 6d 20 66 69 6c 65 20 2a 2f 0a 20  d from file */. 
23d0: 20 20 20 20 43 55 52 4c 45 5f 4f 55 54 5f 4f 46      CURLE_OUT_OF
23e0: 5f 4d 45 4d 4f 52 59 20 20 20 3b 20 20 20 20 20  _MEMORY   ;     
23f0: 20 20 20 20 2f 2a 20 32 37 20 2a 2f 0a 20 20 20      /* 27 */.   
2400: 20 20 3b 3b 20 2f 2a 20 4e 6f 74 65 3a 20 43 55    ;; /* Note: CU
2410: 52 4c 45 5f 4f 55 54 5f 4f 46 5f 4d 45 4d 4f 52  RLE_OUT_OF_MEMOR
2420: 59 20 6d 61 79 20 73 6f 6d 65 74 69 6d 65 73 20  Y may sometimes 
2430: 69 6e 64 69 63 61 74 65 20 61 20 63 6f 6e 76 65  indicate a conve
2440: 72 73 69 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20  rsion error.    
2450: 20 3b 3b 20 20 20 20 20 20 20 20 20 20 69 6e 73   ;;          ins
2460: 74 65 61 64 20 6f 66 20 61 20 6d 65 6d 6f 72 79  tead of a memory
2470: 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 65 72 72 6f   allocation erro
2480: 72 20 69 66 20 43 55 52 4c 5f 44 4f 45 53 5f 43  r if CURL_DOES_C
2490: 4f 4e 56 45 52 53 49 4f 4e 53 0a 20 20 20 20 20  ONVERSIONS.     
24a0: 3b 3b 20 20 20 20 20 20 20 20 20 20 69 73 20 64  ;;          is d
24b0: 65 66 69 6e 65 64 0a 20 20 20 20 20 3b 3b 20 2a  efined.     ;; *
24c0: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 4f 50 45  /.     CURLE_OPE
24d0: 52 41 54 49 4f 4e 5f 54 49 4d 45 44 4f 55 54 20  RATION_TIMEDOUT 
24e0: 20 20 3b 20 20 20 20 2f 2a 20 32 38 20 2d 20 74    ;    /* 28 - t
24f0: 68 65 20 74 69 6d 65 6f 75 74 20 74 69 6d 65 20  he timeout time 
2500: 77 61 73 20 72 65 61 63 68 65 64 20 2a 2f 0a 20  was reached */. 
2510: 20 20 20 20 43 55 52 4c 45 5f 4f 42 53 4f 4c 45      CURLE_OBSOLE
2520: 54 45 32 39 20 20 20 3b 20 20 20 20 20 20 20 20  TE29   ;        
2530: 20 20 20 20 2f 2a 20 32 39 20 2d 20 4e 4f 54 20      /* 29 - NOT 
2540: 55 53 45 44 20 2a 2f 0a 20 20 20 20 20 43 55 52  USED */.     CUR
2550: 4c 45 5f 46 54 50 5f 50 4f 52 54 5f 46 41 49 4c  LE_FTP_PORT_FAIL
2560: 45 44 20 20 20 3b 20 20 20 20 20 20 20 2f 2a 20  ED   ;       /* 
2570: 33 30 20 2d 20 46 54 50 20 50 4f 52 54 20 6f 70  30 - FTP PORT op
2580: 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 20 2a  eration failed *
2590: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 46 54 50  /.     CURLE_FTP
25a0: 5f 43 4f 55 4c 44 4e 54 5f 55 53 45 5f 52 45 53  _COULDNT_USE_RES
25b0: 54 20 20 20 3b 20 20 2f 2a 20 33 31 20 2d 20 74  T   ;  /* 31 - t
25c0: 68 65 20 52 45 53 54 20 63 6f 6d 6d 61 6e 64 20  he REST command 
25d0: 66 61 69 6c 65 64 20 2a 2f 0a 20 20 20 20 20 43  failed */.     C
25e0: 55 52 4c 45 5f 4f 42 53 4f 4c 45 54 45 33 32 20  URLE_OBSOLETE32 
25f0: 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 2f    ;            /
2600: 2a 20 33 32 20 2d 20 4e 4f 54 20 55 53 45 44 20  * 32 - NOT USED 
2610: 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 52 41  */.     CURLE_RA
2620: 4e 47 45 5f 45 52 52 4f 52 20 20 20 3b 20 20 20  NGE_ERROR   ;   
2630: 20 20 20 20 20 20 20 20 2f 2a 20 33 33 20 2d 20          /* 33 - 
2640: 52 41 4e 47 45 20 22 63 6f 6d 6d 61 6e 64 22 20  RANGE "command" 
2650: 64 69 64 6e 27 74 20 77 6f 72 6b 20 2a 2f 0a 20  didn't work */. 
2660: 20 20 20 20 43 55 52 4c 45 5f 48 54 54 50 5f 50      CURLE_HTTP_P
2670: 4f 53 54 5f 45 52 52 4f 52 20 20 20 3b 20 20 20  OST_ERROR   ;   
2680: 20 20 20 20 2f 2a 20 33 34 20 2a 2f 0a 20 20 20      /* 34 */.   
2690: 20 20 43 55 52 4c 45 5f 53 53 4c 5f 43 4f 4e 4e    CURLE_SSL_CONN
26a0: 45 43 54 5f 45 52 52 4f 52 20 20 20 3b 20 20 20  ECT_ERROR   ;   
26b0: 20 20 2f 2a 20 33 35 20 2d 20 77 72 6f 6e 67 20    /* 35 - wrong 
26c0: 77 68 65 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20  when connecting 
26d0: 77 69 74 68 20 53 53 4c 20 2a 2f 0a 20 20 20 20  with SSL */.    
26e0: 20 43 55 52 4c 45 5f 42 41 44 5f 44 4f 57 4e 4c   CURLE_BAD_DOWNL
26f0: 4f 41 44 5f 52 45 53 55 4d 45 20 20 20 3b 20 20  OAD_RESUME   ;  
2700: 20 2f 2a 20 33 36 20 2d 20 63 6f 75 6c 64 6e 27   /* 36 - couldn'
2710: 74 20 72 65 73 75 6d 65 20 64 6f 77 6e 6c 6f 61  t resume downloa
2720: 64 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f  d */.     CURLE_
2730: 46 49 4c 45 5f 43 4f 55 4c 44 4e 54 5f 52 45 41  FILE_COULDNT_REA
2740: 44 5f 46 49 4c 45 20 20 20 3b 2f 2a 20 33 37 20  D_FILE   ;/* 37 
2750: 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 4c 44  */.     CURLE_LD
2760: 41 50 5f 43 41 4e 4e 4f 54 5f 42 49 4e 44 20 20  AP_CANNOT_BIND  
2770: 20 3b 20 20 20 20 20 20 2f 2a 20 33 38 20 2a 2f   ;      /* 38 */
2780: 0a 20 20 20 20 20 43 55 52 4c 45 5f 4c 44 41 50  .     CURLE_LDAP
2790: 5f 53 45 41 52 43 48 5f 46 41 49 4c 45 44 20 20  _SEARCH_FAILED  
27a0: 20 3b 20 20 20 20 2f 2a 20 33 39 20 2a 2f 0a 20   ;    /* 39 */. 
27b0: 20 20 20 20 43 55 52 4c 45 5f 4f 42 53 4f 4c 45      CURLE_OBSOLE
27c0: 54 45 34 30 20 20 20 3b 20 20 20 20 20 20 20 20  TE40   ;        
27d0: 20 20 20 20 2f 2a 20 34 30 20 2d 20 4e 4f 54 20      /* 40 - NOT 
27e0: 55 53 45 44 20 2a 2f 0a 20 20 20 20 20 43 55 52  USED */.     CUR
27f0: 4c 45 5f 46 55 4e 43 54 49 4f 4e 5f 4e 4f 54 5f  LE_FUNCTION_NOT_
2800: 46 4f 55 4e 44 20 20 20 3b 20 20 20 20 2f 2a 20  FOUND   ;    /* 
2810: 34 31 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45  41 */.     CURLE
2820: 5f 41 42 4f 52 54 45 44 5f 42 59 5f 43 41 4c 4c  _ABORTED_BY_CALL
2830: 42 41 43 4b 20 20 20 3b 20 20 20 2f 2a 20 34 32  BACK   ;   /* 42
2840: 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 42   */.     CURLE_B
2850: 41 44 5f 46 55 4e 43 54 49 4f 4e 5f 41 52 47 55  AD_FUNCTION_ARGU
2860: 4d 45 4e 54 20 20 20 3b 20 2f 2a 20 34 33 20 2a  MENT   ; /* 43 *
2870: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 4f 42 53  /.     CURLE_OBS
2880: 4f 4c 45 54 45 34 34 20 20 20 3b 20 20 20 20 20  OLETE44   ;     
2890: 20 20 20 20 20 20 20 2f 2a 20 34 34 20 2d 20 4e         /* 44 - N
28a0: 4f 54 20 55 53 45 44 20 2a 2f 0a 20 20 20 20 20  OT USED */.     
28b0: 43 55 52 4c 45 5f 49 4e 54 45 52 46 41 43 45 5f  CURLE_INTERFACE_
28c0: 46 41 49 4c 45 44 20 20 20 3b 20 20 20 20 20 20  FAILED   ;      
28d0: 2f 2a 20 34 35 20 2d 20 43 55 52 4c 4f 50 54 5f  /* 45 - CURLOPT_
28e0: 49 4e 54 45 52 46 41 43 45 20 66 61 69 6c 65 64  INTERFACE failed
28f0: 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 4f   */.     CURLE_O
2900: 42 53 4f 4c 45 54 45 34 36 20 20 20 3b 20 20 20  BSOLETE46   ;   
2910: 20 20 20 20 20 20 20 20 20 2f 2a 20 34 36 20 2d           /* 46 -
2920: 20 4e 4f 54 20 55 53 45 44 20 2a 2f 0a 20 20 20   NOT USED */.   
2930: 20 20 43 55 52 4c 45 5f 54 4f 4f 5f 4d 41 4e 59    CURLE_TOO_MANY
2940: 5f 52 45 44 49 52 45 43 54 53 20 20 20 3b 20 20  _REDIRECTS   ;  
2950: 20 20 2f 2a 20 34 37 20 2d 20 63 61 74 63 68 20    /* 47 - catch 
2960: 65 6e 64 6c 65 73 73 20 72 65 2d 64 69 72 65 63  endless re-direc
2970: 74 20 6c 6f 6f 70 73 20 2a 2f 0a 20 20 20 20 20  t loops */.     
2980: 43 55 52 4c 45 5f 55 4e 4b 4e 4f 57 4e 5f 4f 50  CURLE_UNKNOWN_OP
2990: 54 49 4f 4e 20 20 20 3b 20 20 20 20 20 20 20 20  TION   ;        
29a0: 2f 2a 20 34 38 20 2d 20 55 73 65 72 20 73 70 65  /* 48 - User spe
29b0: 63 69 66 69 65 64 20 61 6e 20 75 6e 6b 6e 6f 77  cified an unknow
29c0: 6e 20 6f 70 74 69 6f 6e 20 2a 2f 0a 20 20 20 20  n option */.    
29d0: 20 43 55 52 4c 45 5f 54 45 4c 4e 45 54 5f 4f 50   CURLE_TELNET_OP
29e0: 54 49 4f 4e 5f 53 59 4e 54 41 58 20 20 20 3b 20  TION_SYNTAX   ; 
29f0: 20 2f 2a 20 34 39 20 2d 20 4d 61 6c 66 6f 72 6d   /* 49 - Malform
2a00: 65 64 20 74 65 6c 6e 65 74 20 6f 70 74 69 6f 6e  ed telnet option
2a10: 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 4f   */.     CURLE_O
2a20: 42 53 4f 4c 45 54 45 35 30 20 20 20 3b 20 20 20  BSOLETE50   ;   
2a30: 20 20 20 20 20 20 20 20 20 2f 2a 20 35 30 20 2d           /* 50 -
2a40: 20 4e 4f 54 20 55 53 45 44 20 2a 2f 0a 20 20 20   NOT USED */.   
2a50: 20 20 43 55 52 4c 45 5f 50 45 45 52 5f 46 41 49    CURLE_PEER_FAI
2a60: 4c 45 44 5f 56 45 52 49 46 49 43 41 54 49 4f 4e  LED_VERIFICATION
2a70: 20 3b 20 2f 2a 20 35 31 20 2d 20 70 65 65 72 27   ; /* 51 - peer'
2a80: 73 20 63 65 72 74 69 66 69 63 61 74 65 20 6f 72  s certificate or
2a90: 20 66 69 6e 67 65 72 70 72 69 6e 74 0a 09 09 09   fingerprint....
2aa0: 09 09 3b 20 20 20 77 61 73 6e 27 74 20 76 65 72  ..;   wasn't ver
2ab0: 69 66 69 65 64 20 66 69 6e 65 20 2a 2f 0a 20 20  ified fine */.  
2ac0: 20 20 20 43 55 52 4c 45 5f 47 4f 54 5f 4e 4f 54     CURLE_GOT_NOT
2ad0: 48 49 4e 47 20 20 20 3b 20 20 20 20 20 20 20 20  HING   ;        
2ae0: 20 20 20 2f 2a 20 35 32 20 2d 20 77 68 65 6e 20     /* 52 - when 
2af0: 74 68 69 73 20 69 73 20 61 20 73 70 65 63 69 66  this is a specif
2b00: 69 63 20 65 72 72 6f 72 20 2a 2f 0a 20 20 20 20  ic error */.    
2b10: 20 43 55 52 4c 45 5f 53 53 4c 5f 45 4e 47 49 4e   CURLE_SSL_ENGIN
2b20: 45 5f 4e 4f 54 46 4f 55 4e 44 20 20 20 3b 20 20  E_NOTFOUND   ;  
2b30: 20 2f 2a 20 35 33 20 2d 20 53 53 4c 20 63 72 79   /* 53 - SSL cry
2b40: 70 74 6f 20 65 6e 67 69 6e 65 20 6e 6f 74 20 66  pto engine not f
2b50: 6f 75 6e 64 20 2a 2f 0a 20 20 20 20 20 43 55 52  ound */.     CUR
2b60: 4c 45 5f 53 53 4c 5f 45 4e 47 49 4e 45 5f 53 45  LE_SSL_ENGINE_SE
2b70: 54 46 41 49 4c 45 44 20 20 20 3b 20 20 2f 2a 20  TFAILED   ;  /* 
2b80: 35 34 20 2d 20 63 61 6e 20 6e 6f 74 20 73 65 74  54 - can not set
2b90: 20 53 53 4c 20 63 72 79 70 74 6f 20 65 6e 67 69   SSL crypto engi
2ba0: 6e 65 20 61 73 0a 09 09 09 09 09 3b 20 20 64 65  ne as......;  de
2bb0: 66 61 75 6c 74 20 2a 2f 0a 20 20 20 20 20 43 55  fault */.     CU
2bc0: 52 4c 45 5f 53 45 4e 44 5f 45 52 52 4f 52 20 20  RLE_SEND_ERROR  
2bd0: 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a   ;            /*
2be0: 20 35 35 20 2d 20 66 61 69 6c 65 64 20 73 65 6e   55 - failed sen
2bf0: 64 69 6e 67 20 6e 65 74 77 6f 72 6b 20 64 61 74  ding network dat
2c00: 61 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f  a */.     CURLE_
2c10: 52 45 43 56 5f 45 52 52 4f 52 20 20 20 3b 20 20  RECV_ERROR   ;  
2c20: 20 20 20 20 20 20 20 20 20 20 2f 2a 20 35 36 20            /* 56 
2c30: 2d 20 66 61 69 6c 75 72 65 20 69 6e 20 72 65 63  - failure in rec
2c40: 65 69 76 69 6e 67 20 6e 65 74 77 6f 72 6b 20 64  eiving network d
2c50: 61 74 61 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c  ata */.     CURL
2c60: 45 5f 4f 42 53 4f 4c 45 54 45 35 37 20 20 20 3b  E_OBSOLETE57   ;
2c70: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 35              /* 5
2c80: 37 20 2d 20 4e 4f 54 20 49 4e 20 55 53 45 20 2a  7 - NOT IN USE *
2c90: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 53 53 4c  /.     CURLE_SSL
2ca0: 5f 43 45 52 54 50 52 4f 42 4c 45 4d 20 20 20 3b  _CERTPROBLEM   ;
2cb0: 20 20 20 20 20 20 20 2f 2a 20 35 38 20 2d 20 70         /* 58 - p
2cc0: 72 6f 62 6c 65 6d 20 77 69 74 68 20 74 68 65 20  roblem with the 
2cd0: 6c 6f 63 61 6c 20 63 65 72 74 69 66 69 63 61 74  local certificat
2ce0: 65 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f  e */.     CURLE_
2cf0: 53 53 4c 5f 43 49 50 48 45 52 20 20 20 3b 20 20  SSL_CIPHER   ;  
2d00: 20 20 20 20 20 20 20 20 20 20 2f 2a 20 35 39 20            /* 59 
2d10: 2d 20 63 6f 75 6c 64 6e 27 74 20 75 73 65 20 73  - couldn't use s
2d20: 70 65 63 69 66 69 65 64 20 63 69 70 68 65 72 20  pecified cipher 
2d30: 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 53 53  */.     CURLE_SS
2d40: 4c 5f 43 41 43 45 52 54 20 20 20 3b 20 20 20 20  L_CACERT   ;    
2d50: 20 20 20 20 20 20 20 20 2f 2a 20 36 30 20 2d 20          /* 60 - 
2d60: 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 74 68 65  problem with the
2d70: 20 43 41 20 63 65 72 74 20 28 70 61 74 68 3f 29   CA cert (path?)
2d80: 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 42   */.     CURLE_B
2d90: 41 44 5f 43 4f 4e 54 45 4e 54 5f 45 4e 43 4f 44  AD_CONTENT_ENCOD
2da0: 49 4e 47 20 20 20 3b 20 20 2f 2a 20 36 31 20 2d  ING   ;  /* 61 -
2db0: 20 55 6e 72 65 63 6f 67 6e 69 7a 65 64 2f 62 61   Unrecognized/ba
2dc0: 64 20 65 6e 63 6f 64 69 6e 67 20 2a 2f 0a 20 20  d encoding */.  
2dd0: 20 20 20 43 55 52 4c 45 5f 4c 44 41 50 5f 49 4e     CURLE_LDAP_IN
2de0: 56 41 4c 49 44 5f 55 52 4c 20 20 20 3b 20 20 20  VALID_URL   ;   
2df0: 20 20 20 2f 2a 20 36 32 20 2d 20 49 6e 76 61 6c     /* 62 - Inval
2e00: 69 64 20 4c 44 41 50 20 55 52 4c 20 2a 2f 0a 20  id LDAP URL */. 
2e10: 20 20 20 20 43 55 52 4c 45 5f 46 49 4c 45 53 49      CURLE_FILESI
2e20: 5a 45 5f 45 58 43 45 45 44 45 44 20 20 20 3b 20  ZE_EXCEEDED   ; 
2e30: 20 20 20 20 2f 2a 20 36 33 20 2d 20 4d 61 78 69      /* 63 - Maxi
2e40: 6d 75 6d 20 66 69 6c 65 20 73 69 7a 65 20 65 78  mum file size ex
2e50: 63 65 65 64 65 64 20 2a 2f 0a 20 20 20 20 20 43  ceeded */.     C
2e60: 55 52 4c 45 5f 55 53 45 5f 53 53 4c 5f 46 41 49  URLE_USE_SSL_FAI
2e70: 4c 45 44 20 20 20 3b 20 20 20 20 20 20 20 20 2f  LED   ;        /
2e80: 2a 20 36 34 20 2d 20 52 65 71 75 65 73 74 65 64  * 64 - Requested
2e90: 20 46 54 50 20 53 53 4c 20 6c 65 76 65 6c 20 66   FTP SSL level f
2ea0: 61 69 6c 65 64 20 2a 2f 0a 20 20 20 20 20 43 55  ailed */.     CU
2eb0: 52 4c 45 5f 53 45 4e 44 5f 46 41 49 4c 5f 52 45  RLE_SEND_FAIL_RE
2ec0: 57 49 4e 44 20 20 20 3b 20 20 20 20 20 20 2f 2a  WIND   ;      /*
2ed0: 20 36 35 20 2d 20 53 65 6e 64 69 6e 67 20 74 68   65 - Sending th
2ee0: 65 20 64 61 74 61 20 72 65 71 75 69 72 65 73 20  e data requires 
2ef0: 61 20 72 65 77 69 6e 64 0a 09 09 09 09 09 3b 20  a rewind......; 
2f00: 20 20 74 68 61 74 20 66 61 69 6c 65 64 20 2a 2f    that failed */
2f10: 0a 20 20 20 20 20 43 55 52 4c 45 5f 53 53 4c 5f  .     CURLE_SSL_
2f20: 45 4e 47 49 4e 45 5f 49 4e 49 54 46 41 49 4c 45  ENGINE_INITFAILE
2f30: 44 20 20 20 3b 20 2f 2a 20 36 36 20 2d 20 66 61  D   ; /* 66 - fa
2f40: 69 6c 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69  iled to initiali
2f50: 73 65 20 45 4e 47 49 4e 45 20 2a 2f 0a 20 20 20  se ENGINE */.   
2f60: 20 20 43 55 52 4c 45 5f 4c 4f 47 49 4e 5f 44 45    CURLE_LOGIN_DE
2f70: 4e 49 45 44 20 20 20 3b 20 20 20 20 20 20 20 20  NIED   ;        
2f80: 20 20 2f 2a 20 36 37 20 2d 20 75 73 65 72 2c 20    /* 67 - user, 
2f90: 70 61 73 73 77 6f 72 64 20 6f 72 20 73 69 6d 69  password or simi
2fa0: 6c 61 72 20 77 61 73 20 6e 6f 74 0a 09 09 09 09  lar was not.....
2fb0: 09 3b 20 20 20 61 63 63 65 70 74 65 64 20 61 6e  .;   accepted an
2fc0: 64 20 77 65 20 66 61 69 6c 65 64 20 74 6f 20 6c  d we failed to l
2fd0: 6f 67 69 6e 20 2a 2f 0a 20 20 20 20 20 43 55 52  ogin */.     CUR
2fe0: 4c 45 5f 54 46 54 50 5f 4e 4f 54 46 4f 55 4e 44  LE_TFTP_NOTFOUND
2ff0: 20 20 20 3b 20 20 20 20 20 20 20 20 20 2f 2a 20     ;         /* 
3000: 36 38 20 2d 20 66 69 6c 65 20 6e 6f 74 20 66 6f  68 - file not fo
3010: 75 6e 64 20 6f 6e 20 73 65 72 76 65 72 20 2a 2f  und on server */
3020: 0a 20 20 20 20 20 43 55 52 4c 45 5f 54 46 54 50  .     CURLE_TFTP
3030: 5f 50 45 52 4d 20 20 20 3b 20 20 20 20 20 20 20  _PERM   ;       
3040: 20 20 20 20 20 20 2f 2a 20 36 39 20 2d 20 70 65        /* 69 - pe
3050: 72 6d 69 73 73 69 6f 6e 20 70 72 6f 62 6c 65 6d  rmission problem
3060: 20 6f 6e 20 73 65 72 76 65 72 20 2a 2f 0a 20 20   on server */.  
3070: 20 20 20 43 55 52 4c 45 5f 52 45 4d 4f 54 45 5f     CURLE_REMOTE_
3080: 44 49 53 4b 5f 46 55 4c 4c 20 20 20 3b 20 20 20  DISK_FULL   ;   
3090: 20 20 20 2f 2a 20 37 30 20 2d 20 6f 75 74 20 6f     /* 70 - out o
30a0: 66 20 64 69 73 6b 20 73 70 61 63 65 20 6f 6e 20  f disk space on 
30b0: 73 65 72 76 65 72 20 2a 2f 0a 20 20 20 20 20 43  server */.     C
30c0: 55 52 4c 45 5f 54 46 54 50 5f 49 4c 4c 45 47 41  URLE_TFTP_ILLEGA
30d0: 4c 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 2f  L   ;          /
30e0: 2a 20 37 31 20 2d 20 49 6c 6c 65 67 61 6c 20 54  * 71 - Illegal T
30f0: 46 54 50 20 6f 70 65 72 61 74 69 6f 6e 20 2a 2f  FTP operation */
3100: 0a 20 20 20 20 20 43 55 52 4c 45 5f 54 46 54 50  .     CURLE_TFTP
3110: 5f 55 4e 4b 4e 4f 57 4e 49 44 20 20 20 3b 20 20  _UNKNOWNID   ;  
3120: 20 20 20 20 20 20 2f 2a 20 37 32 20 2d 20 55 6e        /* 72 - Un
3130: 6b 6e 6f 77 6e 20 74 72 61 6e 73 66 65 72 20 49  known transfer I
3140: 44 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f  D */.     CURLE_
3150: 52 45 4d 4f 54 45 5f 46 49 4c 45 5f 45 58 49 53  REMOTE_FILE_EXIS
3160: 54 53 20 20 20 3b 20 20 20 20 2f 2a 20 37 33 20  TS   ;    /* 73 
3170: 2d 20 46 69 6c 65 20 61 6c 72 65 61 64 79 20 65  - File already e
3180: 78 69 73 74 73 20 2a 2f 0a 20 20 20 20 20 43 55  xists */.     CU
3190: 52 4c 45 5f 54 46 54 50 5f 4e 4f 53 55 43 48 55  RLE_TFTP_NOSUCHU
31a0: 53 45 52 20 20 20 3b 20 20 20 20 20 20 20 2f 2a  SER   ;       /*
31b0: 20 37 34 20 2d 20 4e 6f 20 73 75 63 68 20 75 73   74 - No such us
31c0: 65 72 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45  er */.     CURLE
31d0: 5f 43 4f 4e 56 5f 46 41 49 4c 45 44 20 20 20 3b  _CONV_FAILED   ;
31e0: 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 37 35             /* 75
31f0: 20 2d 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 61   - conversion fa
3200: 69 6c 65 64 20 2a 2f 0a 20 20 20 20 20 43 55 52  iled */.     CUR
3210: 4c 45 5f 43 4f 4e 56 5f 52 45 51 44 20 20 20 3b  LE_CONV_REQD   ;
3220: 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20               /* 
3230: 37 36 20 2d 20 63 61 6c 6c 65 72 20 6d 75 73 74  76 - caller must
3240: 20 72 65 67 69 73 74 65 72 20 63 6f 6e 76 65 72   register conver
3250: 73 69 6f 6e 0a 09 09 09 09 09 3b 20 20 20 63 61  sion......;   ca
3260: 6c 6c 62 61 63 6b 73 20 75 73 69 6e 67 20 63 75  llbacks using cu
3270: 72 6c 5f 65 61 73 79 5f 73 65 74 6f 70 74 20 6f  rl_easy_setopt o
3280: 70 74 69 6f 6e 73 0a 09 09 09 09 09 3b 20 20 20  ptions......;   
3290: 43 55 52 4c 4f 50 54 5f 43 4f 4e 56 5f 46 52 4f  CURLOPT_CONV_FRO
32a0: 4d 5f 4e 45 54 57 4f 52 4b 5f 46 55 4e 43 54 49  M_NETWORK_FUNCTI
32b0: 4f 4e 2c 0a 09 09 09 09 09 3b 20 20 20 43 55 52  ON,......;   CUR
32c0: 4c 4f 50 54 5f 43 4f 4e 56 5f 54 4f 5f 4e 45 54  LOPT_CONV_TO_NET
32d0: 57 4f 52 4b 5f 46 55 4e 43 54 49 4f 4e 2c 20 61  WORK_FUNCTION, a
32e0: 6e 64 0a 09 09 09 09 09 3b 20 20 20 43 55 52 4c  nd......;   CURL
32f0: 4f 50 54 5f 43 4f 4e 56 5f 46 52 4f 4d 5f 55 54  OPT_CONV_FROM_UT
3300: 46 38 5f 46 55 4e 43 54 49 4f 4e 20 2a 2f 0a 20  F8_FUNCTION */. 
3310: 20 20 20 20 43 55 52 4c 45 5f 53 53 4c 5f 43 41      CURLE_SSL_CA
3320: 43 45 52 54 5f 42 41 44 46 49 4c 45 20 20 20 3b  CERT_BADFILE   ;
3330: 20 20 20 20 2f 2a 20 37 37 20 2d 20 63 6f 75 6c      /* 77 - coul
3340: 64 20 6e 6f 74 20 6c 6f 61 64 20 43 41 43 45 52  d not load CACER
3350: 54 20 66 69 6c 65 2c 20 6d 69 73 73 69 6e 67 0a  T file, missing.
3360: 09 09 09 09 09 3b 20 20 20 20 6f 72 20 77 72 6f  .....;    or wro
3370: 6e 67 20 66 6f 72 6d 61 74 20 2a 2f 0a 20 20 20  ng format */.   
3380: 20 20 43 55 52 4c 45 5f 52 45 4d 4f 54 45 5f 46    CURLE_REMOTE_F
3390: 49 4c 45 5f 4e 4f 54 5f 46 4f 55 4e 44 20 20 20  ILE_NOT_FOUND   
33a0: 3b 20 2f 2a 20 37 38 20 2d 20 72 65 6d 6f 74 65  ; /* 78 - remote
33b0: 20 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 20   file not found 
33c0: 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 53 53  */.     CURLE_SS
33d0: 48 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20  H   ;           
33e0: 20 20 20 20 20 20 20 20 2f 2a 20 37 39 20 2d 20          /* 79 - 
33f0: 65 72 72 6f 72 20 66 72 6f 6d 20 74 68 65 20 53  error from the S
3400: 53 48 20 6c 61 79 65 72 2c 20 73 6f 6d 65 77 68  SH layer, somewh
3410: 61 74 0a 09 09 09 09 09 3b 20 20 20 20 20 67 65  at......;     ge
3420: 6e 65 72 69 63 20 73 6f 20 74 68 65 20 65 72 72  neric so the err
3430: 6f 72 20 6d 65 73 73 61 67 65 20 77 69 6c 6c 20  or message will 
3440: 62 65 20 6f 66 0a 09 09 09 09 09 3b 20 20 20 20  be of......;    
3450: 20 69 6e 74 65 72 65 73 74 20 77 68 65 6e 20 74   interest when t
3460: 68 69 73 20 68 61 73 20 68 61 70 70 65 6e 65 64  his has happened
3470: 20 2a 2f 0a 0a 20 20 20 20 20 43 55 52 4c 45 5f   */..     CURLE_
3480: 53 53 4c 5f 53 48 55 54 44 4f 57 4e 5f 46 41 49  SSL_SHUTDOWN_FAI
3490: 4c 45 44 20 20 20 3b 20 20 20 2f 2a 20 38 30 20  LED   ;   /* 80 
34a0: 2d 20 46 61 69 6c 65 64 20 74 6f 20 73 68 75 74  - Failed to shut
34b0: 20 64 6f 77 6e 20 74 68 65 20 53 53 4c 0a 09 09   down the SSL...
34c0: 09 09 09 3b 20 20 20 20 20 20 63 6f 6e 6e 65 63  ...;      connec
34d0: 74 69 6f 6e 20 2a 2f 0a 20 20 20 20 20 43 55 52  tion */.     CUR
34e0: 4c 45 5f 41 47 41 49 4e 20 20 20 3b 20 20 20 20  LE_AGAIN   ;    
34f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20               /* 
3500: 38 31 20 2d 20 73 6f 63 6b 65 74 20 69 73 20 6e  81 - socket is n
3510: 6f 74 20 72 65 61 64 79 20 66 6f 72 20 73 65 6e  ot ready for sen
3520: 64 2f 72 65 63 76 2c 0a 09 09 09 09 09 3b 20 20  d/recv,......;  
3530: 20 20 20 20 20 20 20 77 61 69 74 20 74 69 6c 6c         wait till
3540: 20 69 74 27 73 20 72 65 61 64 79 20 61 6e 64 20   it's ready and 
3550: 74 72 79 20 61 67 61 69 6e 20 28 41 64 64 65 64  try again (Added
3560: 0a 09 09 09 09 09 3b 20 20 20 20 20 20 20 20 20  ......;         
3570: 69 6e 20 37 2e 31 38 2e 32 29 20 2a 2f 0a 20 20  in 7.18.2) */.  
3580: 20 20 20 43 55 52 4c 45 5f 53 53 4c 5f 43 52 4c     CURLE_SSL_CRL
3590: 5f 42 41 44 46 49 4c 45 20 20 20 3b 20 20 20 20  _BADFILE   ;    
35a0: 20 20 20 2f 2a 20 38 32 20 2d 20 63 6f 75 6c 64     /* 82 - could
35b0: 20 6e 6f 74 20 6c 6f 61 64 20 43 52 4c 20 66 69   not load CRL fi
35c0: 6c 65 2c 20 6d 69 73 73 69 6e 67 20 6f 72 0a 09  le, missing or..
35d0: 09 09 09 09 3b 20 20 20 20 20 20 20 20 20 77 72  ....;         wr
35e0: 6f 6e 67 20 66 6f 72 6d 61 74 20 28 41 64 64 65  ong format (Adde
35f0: 64 20 69 6e 20 37 2e 31 39 2e 30 29 20 2a 2f 0a  d in 7.19.0) */.
3600: 20 20 20 20 20 43 55 52 4c 45 5f 53 53 4c 5f 49       CURLE_SSL_I
3610: 53 53 55 45 52 5f 45 52 52 4f 52 20 20 20 3b 20  SSUER_ERROR   ; 
3620: 20 20 20 20 20 2f 2a 20 38 33 20 2d 20 49 73 73       /* 83 - Iss
3630: 75 65 72 20 63 68 65 63 6b 20 66 61 69 6c 65 64  uer check failed
3640: 2e 20 20 28 41 64 64 65 64 20 69 6e 0a 09 09 09  .  (Added in....
3650: 09 09 3b 20 20 20 20 20 20 20 20 20 37 2e 31 39  ..;         7.19
3660: 2e 30 29 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c  .0) */.     CURL
3670: 45 5f 46 54 50 5f 50 52 45 54 5f 46 41 49 4c 45  E_FTP_PRET_FAILE
3680: 44 20 20 20 3b 20 20 20 20 20 20 20 2f 2a 20 38  D   ;       /* 8
3690: 34 20 2d 20 61 20 50 52 45 54 20 63 6f 6d 6d 61  4 - a PRET comma
36a0: 6e 64 20 66 61 69 6c 65 64 20 2a 2f 0a 20 20 20  nd failed */.   
36b0: 20 20 43 55 52 4c 45 5f 52 54 53 50 5f 43 53 45    CURLE_RTSP_CSE
36c0: 51 5f 45 52 52 4f 52 20 20 20 3b 20 20 20 20 20  Q_ERROR   ;     
36d0: 20 20 2f 2a 20 38 35 20 2d 20 6d 69 73 6d 61 74    /* 85 - mismat
36e0: 63 68 20 6f 66 20 52 54 53 50 20 43 53 65 71 20  ch of RTSP CSeq 
36f0: 6e 75 6d 62 65 72 73 20 2a 2f 0a 20 20 20 20 20  numbers */.     
3700: 43 55 52 4c 45 5f 52 54 53 50 5f 53 45 53 53 49  CURLE_RTSP_SESSI
3710: 4f 4e 5f 45 52 52 4f 52 20 20 20 3b 20 20 20 20  ON_ERROR   ;    
3720: 2f 2a 20 38 36 20 2d 20 6d 69 73 6d 61 74 63 68  /* 86 - mismatch
3730: 20 6f 66 20 52 54 53 50 20 53 65 73 73 69 6f 6e   of RTSP Session
3740: 20 49 64 73 20 2a 2f 0a 20 20 20 20 20 43 55 52   Ids */.     CUR
3750: 4c 45 5f 46 54 50 5f 42 41 44 5f 46 49 4c 45 5f  LE_FTP_BAD_FILE_
3760: 4c 49 53 54 20 20 20 3b 20 20 20 20 20 2f 2a 20  LIST   ;     /* 
3770: 38 37 20 2d 20 75 6e 61 62 6c 65 20 74 6f 20 70  87 - unable to p
3780: 61 72 73 65 20 46 54 50 20 66 69 6c 65 20 6c 69  arse FTP file li
3790: 73 74 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45  st */.     CURLE
37a0: 5f 43 48 55 4e 4b 5f 46 41 49 4c 45 44 20 20 20  _CHUNK_FAILED   
37b0: 3b 20 20 20 20 20 20 20 20 20 20 2f 2a 20 38 38  ;          /* 88
37c0: 20 2d 20 63 68 75 6e 6b 20 63 61 6c 6c 62 61 63   - chunk callbac
37d0: 6b 20 72 65 70 6f 72 74 65 64 20 65 72 72 6f 72  k reported error
37e0: 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 4e   */.     CURLE_N
37f0: 4f 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 41 56 41  O_CONNECTION_AVA
3800: 49 4c 41 42 4c 45 20 20 3b 2f 2a 20 38 39 20 2d  ILABLE  ;/* 89 -
3810: 20 4e 6f 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61   No connection a
3820: 76 61 69 6c 61 62 6c 65 2c 20 74 68 65 0a 09 09  vailable, the...
3830: 09 09 09 3b 20 20 20 20 73 65 73 73 69 6f 6e 20  ...;    session 
3840: 77 69 6c 6c 20 62 65 20 71 75 65 75 65 64 20 2a  will be queued *
3850: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 53 53 4c  /.     CURLE_SSL
3860: 5f 50 49 4e 4e 45 44 50 55 42 4b 45 59 4e 4f 54  _PINNEDPUBKEYNOT
3870: 4d 41 54 43 48 20 3b 20 2f 2a 20 39 30 20 2d 20  MATCH ; /* 90 - 
3880: 73 70 65 63 69 66 69 65 64 20 70 69 6e 6e 65 64  specified pinned
3890: 20 70 75 62 6c 69 63 20 6b 65 79 20 64 69 64 20   public key did 
38a0: 6e 6f 74 0a 09 09 09 09 09 3b 20 20 20 20 6d 61  not......;    ma
38b0: 74 63 68 20 2a 2f 0a 20 20 20 20 20 43 55 52 4c  tch */.     CURL
38c0: 45 5f 53 53 4c 5f 49 4e 56 41 4c 49 44 43 45 52  E_SSL_INVALIDCER
38d0: 54 53 54 41 54 55 53 20 20 20 3b 20 2f 2a 20 39  TSTATUS   ; /* 9
38e0: 31 20 2d 20 69 6e 76 61 6c 69 64 20 63 65 72 74  1 - invalid cert
38f0: 69 66 69 63 61 74 65 20 73 74 61 74 75 73 20 2a  ificate status *
3900: 2f 0a 20 20 20 20 20 43 55 52 4c 45 5f 48 54 54  /.     CURLE_HTT
3910: 50 32 5f 53 54 52 45 41 4d 20 20 20 3b 20 20 20  P2_STREAM   ;   
3920: 20 20 20 20 20 20 20 2f 2a 20 39 32 20 2d 20 73         /* 92 - s
3930: 74 72 65 61 6d 20 65 72 72 6f 72 20 69 6e 20 48  tream error in H
3940: 54 54 50 2f 32 20 66 72 61 6d 69 6e 67 20 6c 61  TTP/2 framing la
3950: 79 65 72 0a 20 20 20 20 20 43 55 52 4c 5f 4c 41  yer.     CURL_LA
3960: 53 54 29 29 0a 09 09 09 09 09 3b 2f 2a 20 6e 65  ST))......;/* ne
3970: 76 65 72 20 75 73 65 21 20 2a 2f 29 29 0a 0a 20  ver use! */)).. 
3980: 20 28 64 65 66 69 6e 65 20 4c 4f 4e 47 20 30 29   (define LONG 0)
3990: 0a 20 20 28 64 65 66 69 6e 65 20 4f 42 4a 45 43  .  (define OBJEC
39a0: 54 50 4f 49 4e 54 20 31 30 30 30 30 29 0a 20 20  TPOINT 10000).  
39b0: 28 64 65 66 69 6e 65 20 53 54 52 49 4e 47 50 4f  (define STRINGPO
39c0: 49 4e 54 20 31 30 30 30 30 29 0a 20 20 28 64 65  INT 10000).  (de
39d0: 66 69 6e 65 20 46 55 4e 43 54 49 4f 4e 50 4f 49  fine FUNCTIONPOI
39e0: 4e 54 20 32 30 30 30 30 29 0a 20 20 28 64 65 66  NT 20000).  (def
39f0: 69 6e 65 20 4f 46 46 5f 54 20 33 30 30 30 30 29  ine OFF_T 30000)
3a00: 0a 0a 20 20 28 64 65 66 69 6e 65 2d 73 79 6e 74  ..  (define-synt
3a10: 61 78 20 43 49 4e 49 54 0a 20 20 20 20 28 6c 61  ax CINIT.    (la
3a20: 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 28  mbda (x).      (
3a30: 64 65 66 69 6e 65 20 67 65 6e 2d 69 64 0a 09 28  define gen-id..(
3a40: 6c 61 6d 62 64 61 20 28 74 65 6d 70 6c 61 74 65  lambda (template
3a50: 2d 69 64 20 2e 20 61 72 67 73 29 0a 09 20 20 28  -id . args)..  (
3a60: 64 61 74 75 6d 2d 3e 73 79 6e 74 61 78 0a 09 20  datum->syntax.. 
3a70: 20 20 74 65 6d 70 6c 61 74 65 2d 69 64 0a 09 20    template-id.. 
3a80: 20 20 28 73 74 72 69 6e 67 2d 3e 73 79 6d 62 6f    (string->symbo
3a90: 6c 0a 09 20 20 20 20 28 61 70 70 6c 79 20 73 74  l..    (apply st
3aa0: 72 69 6e 67 2d 61 70 70 65 6e 64 0a 09 09 20 20  ring-append...  
3ab0: 20 28 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78   (map (lambda (x
3ac0: 29 0a 09 09 09 20 20 28 69 66 20 28 73 74 72 69  )....  (if (stri
3ad0: 6e 67 3f 20 78 29 20 78 20 28 73 79 6d 62 6f 6c  ng? x) x (symbol
3ae0: 2d 3e 73 74 72 69 6e 67 20 28 73 79 6e 74 61 78  ->string (syntax
3af0: 2d 3e 64 61 74 75 6d 20 78 29 29 29 29 0a 09 09  ->datum x))))...
3b00: 09 61 72 67 73 29 29 29 29 29 29 0a 20 20 20 20  .args)))))).    
3b10: 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 20 78    (syntax-case x
3b20: 20 28 29 0a 09 5b 28 5f 20 6e 61 6d 65 20 74 79   ()..[(_ name ty
3b30: 70 65 20 76 61 6c 75 65 29 0a 09 20 28 77 69 74  pe value).. (wit
3b40: 68 2d 73 79 6e 74 61 78 20 28 5b 6f 70 74 2d 6e  h-syntax ([opt-n
3b50: 61 6d 65 20 28 67 65 6e 2d 69 64 20 23 27 6e 61  ame (gen-id #'na
3b60: 6d 65 20 22 43 55 52 4c 4f 50 54 5f 22 20 23 27  me "CURLOPT_" #'
3b70: 6e 61 6d 65 29 5d 29 0a 09 20 20 20 23 27 28 64  name)])..   #'(d
3b80: 65 66 69 6e 65 20 6f 70 74 2d 6e 61 6d 65 20 28  efine opt-name (
3b90: 66 78 2b 20 74 79 70 65 20 76 61 6c 75 65 29 29  fx+ type value))
3ba0: 29 5d 29 29 29 0a 0a 0a 20 20 28 43 49 4e 49 54  )])))...  (CINIT
3bb0: 20 57 52 49 54 45 44 41 54 41 20 4f 42 4a 45 43   WRITEDATA OBJEC
3bc0: 54 50 4f 49 4e 54 20 31 29 0a 0a 09 09 09 09 09  TPOINT 1).......
3bd0: 3b 20 54 68 65 20 66 75 6c 6c 20 55 52 4c 20 74  ; The full URL t
3be0: 6f 20 67 65 74 2f 70 75 74 20 0a 20 20 28 43 49  o get/put .  (CI
3bf0: 4e 49 54 20 55 52 4c 20 53 54 52 49 4e 47 50 4f  NIT URL STRINGPO
3c00: 49 4e 54 20 32 29 0a 0a 09 09 09 09 09 3b 20 50  INT 2).......; P
3c10: 6f 72 74 20 6e 75 6d 62 65 72 20 74 6f 20 63 6f  ort number to co
3c20: 6e 6e 65 63 74 20 74 6f 20 69 66 20 6f 74 68 65  nnect to if othe
3c30: 72 20 74 68 61 6e 20 64 65 66 61 75 6c 74 2e 20  r than default. 
3c40: 0a 20 20 28 43 49 4e 49 54 20 50 4f 52 54 20 4c  .  (CINIT PORT L
3c50: 4f 4e 47 20 33 29 0a 0a 09 09 09 09 09 3b 20 4e  ONG 3).......; N
3c60: 61 6d 65 20 6f 66 20 70 72 6f 78 79 20 74 6f 20  ame of proxy to 
3c70: 75 73 65 2e 20 0a 20 20 28 43 49 4e 49 54 20 50  use. .  (CINIT P
3c80: 52 4f 58 59 20 53 54 52 49 4e 47 50 4f 49 4e 54  ROXY STRINGPOINT
3c90: 20 34 29 0a 0a 09 09 09 09 09 3b 20 22 75 73 65   4).......; "use
3ca0: 72 3a 70 61 73 73 77 6f 72 64 3b 6f 70 74 69 6f  r:password;optio
3cb0: 6e 73 22 20 74 6f 20 75 73 65 20 77 68 65 6e 20  ns" to use when 
3cc0: 66 65 74 63 68 69 6e 67 2e 20 0a 20 20 28 43 49  fetching. .  (CI
3cd0: 4e 49 54 20 55 53 45 52 50 57 44 20 53 54 52 49  NIT USERPWD STRI
3ce0: 4e 47 50 4f 49 4e 54 20 35 29 0a 0a 09 09 09 09  NGPOINT 5)......
3cf0: 09 3b 20 22 75 73 65 72 3a 70 61 73 73 77 6f 72  .; "user:passwor
3d00: 64 22 20 74 6f 20 75 73 65 20 77 69 74 68 20 70  d" to use with p
3d10: 72 6f 78 79 2e 20 0a 20 20 28 43 49 4e 49 54 20  roxy. .  (CINIT 
3d20: 50 52 4f 58 59 55 53 45 52 50 57 44 20 53 54 52  PROXYUSERPWD STR
3d30: 49 4e 47 50 4f 49 4e 54 20 36 29 0a 0a 09 09 09  INGPOINT 6).....
3d40: 09 09 3b 20 52 61 6e 67 65 20 74 6f 20 67 65 74  ..; Range to get
3d50: 20 73 70 65 63 69 66 69 65 64 20 61 73 20 61 6e   specified as an
3d60: 20 41 53 43 49 49 20 73 74 72 69 6e 67 2e 20 0a   ASCII string. .
3d70: 20 20 28 43 49 4e 49 54 20 52 41 4e 47 45 20 53    (CINIT RANGE S
3d80: 54 52 49 4e 47 50 4f 49 4e 54 20 37 29 0a 0a 09  TRINGPOINT 7)...
3d90: 09 09 09 09 3b 20 6e 6f 74 20 75 73 65 64 20 0a  ....; not used .
3da0: 0a 09 09 09 09 09 3b 20 53 70 65 63 69 66 69 65  ......; Specifie
3db0: 64 20 66 69 6c 65 20 73 74 72 65 61 6d 20 74 6f  d file stream to
3dc0: 20 75 70 6c 6f 61 64 20 66 72 6f 6d 20 28 75 73   upload from (us
3dd0: 65 20 61 73 20 69 6e 70 75 74 29 3a 20 0a 20 20  e as input): .  
3de0: 28 43 49 4e 49 54 20 52 45 41 44 44 41 54 41 20  (CINIT READDATA 
3df0: 4f 42 4a 45 43 54 50 4f 49 4e 54 20 39 29 0a 0a  OBJECTPOINT 9)..
3e00: 20 20 3b 3b 20 2f 2a 20 42 75 66 66 65 72 20 74    ;; /* Buffer t
3e10: 6f 20 72 65 63 65 69 76 65 20 65 72 72 6f 72 20  o receive error 
3e20: 6d 65 73 73 61 67 65 73 20 69 6e 20 6d 75 73 74  messages in must
3e30: 20 62 65 20 61 74 20 6c 65 61 73 74 20 43 55 52   be at least CUR
3e40: 4c 5f 45 52 52 4f 52 5f 53 49 5a 45 0a 20 20 3b  L_ERROR_SIZE.  ;
3e50: 3b 20 20 2a 20 62 79 74 65 73 20 62 69 67 2e 20  ;  * bytes big. 
3e60: 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 75  If this is not u
3e70: 73 65 64 20 65 72 72 6f 72 20 6d 65 73 73 61 67  sed error messag
3e80: 65 73 20 67 6f 20 74 6f 20 73 74 64 65 72 72 20  es go to stderr 
3e90: 69 6e 73 74 65 61 64 3a 20 2a 2f 0a 20 20 28 43  instead: */.  (C
3ea0: 49 4e 49 54 20 45 52 52 4f 52 42 55 46 46 45 52  INIT ERRORBUFFER
3eb0: 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20 31 30 29   OBJECTPOINT 10)
3ec0: 0a 0a 20 20 3b 3b 20 2f 2a 20 46 75 6e 63 74 69  ..  ;; /* Functi
3ed0: 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20  on that will be 
3ee0: 63 61 6c 6c 65 64 20 74 6f 20 73 74 6f 72 65 20  called to store 
3ef0: 74 68 65 20 6f 75 74 70 75 74 20 28 69 6e 73 74  the output (inst
3f00: 65 61 64 20 6f 66 20 66 77 72 69 74 65 29 2e 20  ead of fwrite). 
3f10: 54 68 65 0a 20 20 3b 3b 20 20 2a 20 70 61 72 61  The.  ;;  * para
3f20: 6d 65 74 65 72 73 20 77 69 6c 6c 20 75 73 65 20  meters will use 
3f30: 66 77 72 69 74 65 28 29 20 73 79 6e 74 61 78 20  fwrite() syntax 
3f40: 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 66 6f 6c  make sure to fol
3f50: 6c 6f 77 20 74 68 65 6d 2e 20 2a 2f 0a 20 20 28  low them. */.  (
3f60: 43 49 4e 49 54 20 57 52 49 54 45 46 55 4e 43 54  CINIT WRITEFUNCT
3f70: 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e  ION FUNCTIONPOIN
3f80: 54 20 31 31 29 0a 0a 20 20 3b 3b 20 2f 2a 20 46  T 11)..  ;; /* F
3f90: 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c  unction that wil
3fa0: 6c 20 62 65 20 63 61 6c 6c 65 64 20 74 6f 20 72  l be called to r
3fb0: 65 61 64 20 74 68 65 20 69 6e 70 75 74 20 28 69  ead the input (i
3fc0: 6e 73 74 65 61 64 20 6f 66 20 66 72 65 61 64 29  nstead of fread)
3fd0: 2e 20 54 68 65 0a 20 20 3b 3b 20 20 2a 20 70 61  . The.  ;;  * pa
3fe0: 72 61 6d 65 74 65 72 73 20 77 69 6c 6c 20 75 73  rameters will us
3ff0: 65 20 66 72 65 61 64 28 29 20 73 79 6e 74 61 78  e fread() syntax
4000: 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 66 6f   make sure to fo
4010: 6c 6c 6f 77 20 74 68 65 6d 2e 20 2a 2f 0a 20 20  llow them. */.  
4020: 28 43 49 4e 49 54 20 52 45 41 44 46 55 4e 43 54  (CINIT READFUNCT
4030: 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e  ION FUNCTIONPOIN
4040: 54 20 31 32 29 0a 0a 09 09 09 09 09 3b 20 54 69  T 12).......; Ti
4050: 6d 65 2d 6f 75 74 20 74 68 65 20 72 65 61 64 20  me-out the read 
4060: 6f 70 65 72 61 74 69 6f 6e 20 61 66 74 65 72 20  operation after 
4070: 74 68 69 73 20 61 6d 6f 75 6e 74 20 6f 66 20 73  this amount of s
4080: 65 63 6f 6e 64 73 20 0a 20 20 28 43 49 4e 49 54  econds .  (CINIT
4090: 20 54 49 4d 45 4f 55 54 20 4c 4f 4e 47 20 31 33   TIMEOUT LONG 13
40a0: 29 0a 0a 20 20 3b 3b 20 2f 2a 20 49 66 20 74 68  )..  ;; /* If th
40b0: 65 20 43 55 52 4c 4f 50 54 5f 49 4e 46 49 4c 45  e CURLOPT_INFILE
40c0: 20 69 73 20 75 73 65 64 20 74 68 69 73 20 63 61   is used this ca
40d0: 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 66  n be used to inf
40e0: 6f 72 6d 20 6c 69 62 63 75 72 6c 20 61 62 6f 75  orm libcurl abou
40f0: 74 0a 20 20 3b 3b 20 20 2a 20 68 6f 77 20 6c 61  t.  ;;  * how la
4100: 72 67 65 20 74 68 65 20 66 69 6c 65 20 62 65 69  rge the file bei
4110: 6e 67 20 73 65 6e 74 20 72 65 61 6c 6c 79 20 69  ng sent really i
4120: 73 2e 20 54 68 61 74 20 61 6c 6c 6f 77 73 20 62  s. That allows b
4130: 65 74 74 65 72 20 65 72 72 6f 72 0a 20 20 3b 3b  etter error.  ;;
4140: 20 20 2a 20 63 68 65 63 6b 69 6e 67 20 61 6e 64    * checking and
4150: 20 62 65 74 74 65 72 20 76 65 72 69 66 69 65 73   better verifies
4160: 20 74 68 61 74 20 74 68 65 20 75 70 6c 6f 61 64   that the upload
4170: 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2e   was successful.
4180: 20 2d 31 20 6d 65 61 6e 73 0a 20 20 3b 3b 20 20   -1 means.  ;;  
4190: 2a 20 75 6e 6b 6e 6f 77 6e 20 73 69 7a 65 2e 0a  * unknown size..
41a0: 20 20 3b 3b 20 20 2a 0a 20 20 3b 3b 20 20 2a 20    ;;  *.  ;;  * 
41b0: 46 6f 72 20 6c 61 72 67 65 20 66 69 6c 65 20 73  For large file s
41c0: 75 70 70 6f 72 74 20 74 68 65 72 65 20 69 73 20  upport there is 
41d0: 61 6c 73 6f 20 61 20 5f 4c 41 52 47 45 20 76 65  also a _LARGE ve
41e0: 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 6b 65 79  rsion of the key
41f0: 0a 20 20 3b 3b 20 20 2a 20 77 68 69 63 68 20 74  .  ;;  * which t
4200: 61 6b 65 73 20 61 6e 20 6f 66 66 5f 74 20 74 79  akes an off_t ty
4210: 70 65 20 61 6c 6c 6f 77 69 6e 67 20 70 6c 61 74  pe allowing plat
4220: 66 6f 72 6d 73 20 77 69 74 68 20 6c 61 72 67 65  forms with large
4230: 72 20 6f 66 66 5f 74 0a 20 20 3b 3b 20 20 2a 20  r off_t.  ;;  * 
4240: 73 69 7a 65 73 20 74 6f 20 68 61 6e 64 6c 65 20  sizes to handle 
4250: 6c 61 72 67 65 72 20 66 69 6c 65 73 2e 20 20 53  larger files.  S
4260: 65 65 20 62 65 6c 6f 77 20 66 6f 72 20 49 4e 46  ee below for INF
4270: 49 4c 45 53 49 5a 45 5f 4c 41 52 47 45 2e 0a 20  ILESIZE_LARGE.. 
4280: 20 3b 3b 20 20 2a 2f 0a 20 20 28 43 49 4e 49 54   ;;  */.  (CINIT
4290: 20 49 4e 46 49 4c 45 53 49 5a 45 20 4c 4f 4e 47   INFILESIZE LONG
42a0: 20 31 34 29 0a 0a 09 09 09 09 09 3b 20 50 4f 53   14).......; POS
42b0: 54 20 73 74 61 74 69 63 20 69 6e 70 75 74 20 66  T static input f
42c0: 69 65 6c 64 73 2e 20 0a 20 20 28 43 49 4e 49 54  ields. .  (CINIT
42d0: 20 50 4f 53 54 46 49 45 4c 44 53 20 4f 42 4a 45   POSTFIELDS OBJE
42e0: 43 54 50 4f 49 4e 54 20 31 35 29 0a 0a 09 09 09  CTPOINT 15).....
42f0: 09 09 3b 20 53 65 74 20 74 68 65 20 72 65 66 65  ..; Set the refe
4300: 72 72 65 72 20 70 61 67 65 20 28 6e 65 65 64 65  rrer page (neede
4310: 64 20 62 79 20 73 6f 6d 65 20 43 47 49 73 29 20  d by some CGIs) 
4320: 0a 20 20 28 43 49 4e 49 54 20 52 45 46 45 52 45  .  (CINIT REFERE
4330: 52 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 31 36  R STRINGPOINT 16
4340: 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74  )..  ;; /* Set t
4350: 68 65 20 46 54 50 20 50 4f 52 54 20 73 74 72 69  he FTP PORT stri
4360: 6e 67 20 28 69 6e 74 65 72 66 61 63 65 20 6e 61  ng (interface na
4370: 6d 65 20 6e 61 6d 65 64 20 6f 72 20 6e 75 6d 65  me named or nume
4380: 72 69 63 61 6c 20 49 50 20 61 64 64 72 65 73 73  rical IP address
4390: 29 0a 20 20 3b 3b 20 20 20 20 55 73 65 20 69 2e  ).  ;;    Use i.
43a0: 65 20 27 2d 27 20 74 6f 20 75 73 65 20 64 65 66  e '-' to use def
43b0: 61 75 6c 74 20 61 64 64 72 65 73 73 2e 20 2a 2f  ault address. */
43c0: 0a 20 20 28 43 49 4e 49 54 20 46 54 50 50 4f 52  .  (CINIT FTPPOR
43d0: 54 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 31 37  T STRINGPOINT 17
43e0: 29 0a 0a 09 09 09 09 09 3b 20 53 65 74 20 74 68  ).......; Set th
43f0: 65 20 55 73 65 72 2d 41 67 65 6e 74 20 73 74 72  e User-Agent str
4400: 69 6e 67 20 28 65 78 61 6d 69 6e 65 64 20 62 79  ing (examined by
4410: 20 73 6f 6d 65 20 43 47 49 73 29 20 0a 20 20 28   some CGIs) .  (
4420: 43 49 4e 49 54 20 55 53 45 52 41 47 45 4e 54 20  CINIT USERAGENT 
4430: 53 54 52 49 4e 47 50 4f 49 4e 54 20 31 38 29 0a  STRINGPOINT 18).
4440: 0a 20 20 3b 3b 20 2f 2a 20 49 66 20 74 68 65 20  .  ;; /* If the 
4450: 64 6f 77 6e 6c 6f 61 64 20 72 65 63 65 69 76 65  download receive
4460: 73 20 6c 65 73 73 20 74 68 61 6e 20 22 6c 6f 77  s less than "low
4470: 20 73 70 65 65 64 20 6c 69 6d 69 74 22 20 62 79   speed limit" by
4480: 74 65 73 2f 73 65 63 6f 6e 64 0a 20 20 3b 3b 20  tes/second.  ;; 
4490: 20 2a 20 64 75 72 69 6e 67 20 22 6c 6f 77 20 73   * during "low s
44a0: 70 65 65 64 20 74 69 6d 65 22 20 73 65 63 6f 6e  peed time" secon
44b0: 64 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e  ds the operation
44c0: 73 20 69 73 20 61 62 6f 72 74 65 64 2e 0a 20 20  s is aborted..  
44d0: 3b 3b 20 20 2a 20 59 6f 75 20 63 6f 75 6c 64 20  ;;  * You could 
44e0: 69 2e 65 20 69 66 20 79 6f 75 20 68 61 76 65 20  i.e if you have 
44f0: 61 20 70 72 65 74 74 79 20 68 69 67 68 20 73 70  a pretty high sp
4500: 65 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61  eed connection a
4510: 62 6f 72 74 20 69 66 0a 20 20 3b 3b 20 20 2a 20  bort if.  ;;  * 
4520: 69 74 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20  it is less than 
4530: 32 30 30 30 20 62 79 74 65 73 2f 73 65 63 20 64  2000 bytes/sec d
4540: 75 72 69 6e 67 20 32 30 20 73 65 63 6f 6e 64 73  uring 20 seconds
4550: 2e 0a 20 20 3b 3b 20 20 2a 2f 0a 0a 09 09 09 09  ..  ;;  */......
4560: 09 3b 20 53 65 74 20 74 68 65 20 22 6c 6f 77 20  .; Set the "low 
4570: 73 70 65 65 64 20 6c 69 6d 69 74 22 20 0a 20 20  speed limit" .  
4580: 28 43 49 4e 49 54 20 4c 4f 57 5f 53 50 45 45 44  (CINIT LOW_SPEED
4590: 5f 4c 49 4d 49 54 20 4c 4f 4e 47 20 31 39 29 0a  _LIMIT LONG 19).
45a0: 0a 09 09 09 09 09 3b 20 53 65 74 20 74 68 65 20  ......; Set the 
45b0: 22 6c 6f 77 20 73 70 65 65 64 20 74 69 6d 65 22  "low speed time"
45c0: 20 0a 20 20 28 43 49 4e 49 54 20 4c 4f 57 5f 53   .  (CINIT LOW_S
45d0: 50 45 45 44 5f 54 49 4d 45 20 4c 4f 4e 47 20 32  PEED_TIME LONG 2
45e0: 30 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74 20  0)..  ;; /* Set 
45f0: 74 68 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e  the continuation
4600: 20 6f 66 66 73 65 74 2e 0a 20 20 3b 3b 20 20 2a   offset..  ;;  *
4610: 0a 20 20 3b 3b 20 20 2a 20 4e 6f 74 65 20 74 68  .  ;;  * Note th
4620: 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 5f 4c  ere is also a _L
4630: 41 52 47 45 20 76 65 72 73 69 6f 6e 20 6f 66 20  ARGE version of 
4640: 74 68 69 73 20 6b 65 79 20 77 68 69 63 68 20 75  this key which u
4650: 73 65 73 0a 20 20 3b 3b 20 20 2a 20 6f 66 66 5f  ses.  ;;  * off_
4660: 74 20 74 79 70 65 73 20 61 6c 6c 6f 77 69 6e 67  t types allowing
4670: 20 66 6f 72 20 6c 61 72 67 65 20 66 69 6c 65 20   for large file 
4680: 6f 66 66 73 65 74 73 20 6f 6e 20 70 6c 61 74 66  offsets on platf
4690: 6f 72 6d 73 20 77 68 69 63 68 0a 20 20 3b 3b 20  orms which.  ;; 
46a0: 20 2a 20 75 73 65 20 6c 61 72 67 65 72 2d 74 68   * use larger-th
46b0: 61 6e 2d 33 32 2d 62 69 74 20 6f 66 66 5f 74 27  an-32-bit off_t'
46c0: 73 2e 20 20 4c 6f 6f 6b 20 62 65 6c 6f 77 20 66  s.  Look below f
46d0: 6f 72 20 52 45 53 55 4d 45 5f 46 52 4f 4d 5f 4c  or RESUME_FROM_L
46e0: 41 52 47 45 2e 0a 20 20 3b 3b 20 20 2a 2f 0a 20  ARGE..  ;;  */. 
46f0: 20 28 43 49 4e 49 54 20 52 45 53 55 4d 45 5f 46   (CINIT RESUME_F
4700: 52 4f 4d 20 4c 4f 4e 47 20 32 31 29 0a 0a 09 09  ROM LONG 21)....
4710: 09 09 09 3b 20 53 65 74 20 63 6f 6f 6b 69 65 20  ...; Set cookie 
4720: 69 6e 20 72 65 71 75 65 73 74 3a 20 0a 20 20 28  in request: .  (
4730: 43 49 4e 49 54 20 43 4f 4f 4b 49 45 20 53 54 52  CINIT COOKIE STR
4740: 49 4e 47 50 4f 49 4e 54 20 32 32 29 0a 0a 20 20  INGPOINT 22)..  
4750: 3b 3b 20 2f 2a 20 54 68 69 73 20 70 6f 69 6e 74  ;; /* This point
4760: 73 20 74 6f 20 61 20 6c 69 6e 6b 65 64 20 6c 69  s to a linked li
4770: 73 74 20 6f 66 20 68 65 61 64 65 72 73 20 73 74  st of headers st
4780: 72 75 63 74 20 63 75 72 6c 5f 73 6c 69 73 74 20  ruct curl_slist 
4790: 6b 69 6e 64 2e 20 54 68 69 73 0a 20 20 3b 3b 20  kind. This.  ;; 
47a0: 20 20 20 6c 69 73 74 20 69 73 20 61 6c 73 6f 20     list is also 
47b0: 75 73 65 64 20 66 6f 72 20 52 54 53 50 20 28 69  used for RTSP (i
47c0: 6e 20 73 70 69 74 65 20 6f 66 20 69 74 73 20 6e  n spite of its n
47d0: 61 6d 65 29 20 2a 2f 0a 20 20 28 43 49 4e 49 54  ame) */.  (CINIT
47e0: 20 48 54 54 50 48 45 41 44 45 52 20 4f 42 4a 45   HTTPHEADER OBJE
47f0: 43 54 50 4f 49 4e 54 20 32 33 29 0a 0a 09 09 09  CTPOINT 23).....
4800: 09 09 3b 20 54 68 69 73 20 70 6f 69 6e 74 73 20  ..; This points 
4810: 74 6f 20 61 20 6c 69 6e 6b 65 64 20 6c 69 73 74  to a linked list
4820: 20 6f 66 20 70 6f 73 74 20 65 6e 74 72 69 65 73   of post entries
4830: 20 73 74 72 75 63 74 20 63 75 72 6c 5f 68 74 74   struct curl_htt
4840: 70 70 6f 73 74 20 0a 20 20 28 43 49 4e 49 54 20  ppost .  (CINIT 
4850: 48 54 54 50 50 4f 53 54 20 4f 42 4a 45 43 54 50  HTTPPOST OBJECTP
4860: 4f 49 4e 54 20 32 34 29 0a 0a 09 09 09 09 09 3b  OINT 24).......;
4870: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c   name of the fil
4880: 65 20 6b 65 65 70 69 6e 67 20 79 6f 75 72 20 70  e keeping your p
4890: 72 69 76 61 74 65 20 53 53 4c 2d 63 65 72 74 69  rivate SSL-certi
48a0: 66 69 63 61 74 65 20 0a 20 20 28 43 49 4e 49 54  ficate .  (CINIT
48b0: 20 53 53 4c 43 45 52 54 20 53 54 52 49 4e 47 50   SSLCERT STRINGP
48c0: 4f 49 4e 54 20 32 35 29 0a 0a 09 09 09 09 09 3b  OINT 25).......;
48d0: 20 70 61 73 73 77 6f 72 64 20 66 6f 72 20 74 68   password for th
48e0: 65 20 53 53 4c 20 6f 72 20 53 53 48 20 70 72 69  e SSL or SSH pri
48f0: 76 61 74 65 20 6b 65 79 20 0a 20 20 28 43 49 4e  vate key .  (CIN
4900: 49 54 20 4b 45 59 50 41 53 53 57 44 20 53 54 52  IT KEYPASSWD STR
4910: 49 4e 47 50 4f 49 4e 54 20 32 36 29 0a 0a 09 09  INGPOINT 26)....
4920: 09 09 09 3b 20 73 65 6e 64 20 54 59 50 45 20 70  ...; send TYPE p
4930: 61 72 61 6d 65 74 65 72 3f 20 0a 20 20 28 43 49  arameter? .  (CI
4940: 4e 49 54 20 43 52 4c 46 20 4c 4f 4e 47 20 32 37  NIT CRLF LONG 27
4950: 29 0a 0a 09 09 09 09 09 3b 20 73 65 6e 64 20 6c  ).......; send l
4960: 69 6e 6b 65 64 2d 6c 69 73 74 20 6f 66 20 51 55  inked-list of QU
4970: 4f 54 45 20 63 6f 6d 6d 61 6e 64 73 20 0a 20 20  OTE commands .  
4980: 28 43 49 4e 49 54 20 51 55 4f 54 45 20 4f 42 4a  (CINIT QUOTE OBJ
4990: 45 43 54 50 4f 49 4e 54 20 32 38 29 0a 0a 20 20  ECTPOINT 28)..  
49a0: 3b 3b 20 2f 2a 20 73 65 6e 64 20 46 49 4c 45 20  ;; /* send FILE 
49b0: 2a 20 6f 72 20 76 6f 69 64 20 2a 20 74 6f 20 73  * or void * to s
49c0: 74 6f 72 65 20 68 65 61 64 65 72 73 20 74 6f 20  tore headers to 
49d0: 69 66 20 79 6f 75 20 75 73 65 20 61 20 63 61 6c  if you use a cal
49e0: 6c 62 61 63 6b 20 69 74 0a 20 20 3b 3b 20 20 20  lback it.  ;;   
49f0: 20 69 73 20 73 69 6d 70 6c 79 20 70 61 73 73 65   is simply passe
4a00: 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 62 61 63  d to the callbac
4a10: 6b 20 75 6e 6d 6f 64 69 66 69 65 64 20 2a 2f 0a  k unmodified */.
4a20: 20 20 28 43 49 4e 49 54 20 48 45 41 44 45 52 44    (CINIT HEADERD
4a30: 41 54 41 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20  ATA OBJECTPOINT 
4a40: 32 39 29 0a 0a 20 20 3b 3b 20 2f 2a 20 70 6f 69  29)..  ;; /* poi
4a50: 6e 74 20 74 6f 20 61 20 66 69 6c 65 20 74 6f 20  nt to a file to 
4a60: 72 65 61 64 20 74 68 65 20 69 6e 69 74 69 61 6c  read the initial
4a70: 20 63 6f 6f 6b 69 65 73 20 66 72 6f 6d 20 61 6c   cookies from al
4a80: 73 6f 20 65 6e 61 62 6c 65 73 0a 20 20 3b 3b 20  so enables.  ;; 
4a90: 20 20 20 22 63 6f 6f 6b 69 65 20 61 77 61 72 65     "cookie aware
4aa0: 6e 65 73 73 22 20 2a 2f 0a 20 20 28 43 49 4e 49  ness" */.  (CINI
4ab0: 54 20 43 4f 4f 4b 49 45 46 49 4c 45 20 53 54 52  T COOKIEFILE STR
4ac0: 49 4e 47 50 4f 49 4e 54 20 33 31 29 0a 0a 20 20  INGPOINT 31)..  
4ad0: 3b 3b 20 2f 2a 20 57 68 61 74 20 76 65 72 73 69  ;; /* What versi
4ae0: 6f 6e 20 74 6f 20 73 70 65 63 69 66 69 63 61 6c  on to specifical
4af0: 6c 79 20 74 72 79 20 74 6f 20 75 73 65 2e 0a 20  ly try to use.. 
4b00: 20 3b 3b 20 20 20 20 53 65 65 20 43 55 52 4c 5f   ;;    See CURL_
4b10: 53 53 4c 56 45 52 53 49 4f 4e 20 64 65 66 69 6e  SSLVERSION defin
4b20: 65 73 20 62 65 6c 6f 77 2e 20 2a 2f 0a 20 20 28  es below. */.  (
4b30: 43 49 4e 49 54 20 53 53 4c 56 45 52 53 49 4f 4e  CINIT SSLVERSION
4b40: 20 4c 4f 4e 47 20 33 32 29 0a 0a 09 09 09 09 09   LONG 32).......
4b50: 3b 20 57 68 61 74 20 6b 69 6e 64 20 6f 66 20 48  ; What kind of H
4b60: 54 54 50 20 74 69 6d 65 20 63 6f 6e 64 69 74 69  TTP time conditi
4b70: 6f 6e 20 74 6f 20 75 73 65 20 73 65 65 20 64 65  on to use see de
4b80: 66 69 6e 65 73 20 0a 20 20 28 43 49 4e 49 54 20  fines .  (CINIT 
4b90: 54 49 4d 45 43 4f 4e 44 49 54 49 4f 4e 20 4c 4f  TIMECONDITION LO
4ba0: 4e 47 20 33 33 29 0a 0a 20 20 3b 3b 20 2f 2a 20  NG 33)..  ;; /* 
4bb0: 54 69 6d 65 20 74 6f 20 75 73 65 20 77 69 74 68  Time to use with
4bc0: 20 74 68 65 20 61 62 6f 76 65 20 63 6f 6e 64 69   the above condi
4bd0: 74 69 6f 6e 2e 20 53 70 65 63 69 66 69 65 64 20  tion. Specified 
4be0: 69 6e 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63  in number of sec
4bf0: 6f 6e 64 73 0a 20 20 3b 3b 20 20 20 20 73 69 6e  onds.  ;;    sin
4c00: 63 65 20 31 20 4a 61 6e 20 31 39 37 30 20 2a 2f  ce 1 Jan 1970 */
4c10: 0a 20 20 28 43 49 4e 49 54 20 54 49 4d 45 56 41  .  (CINIT TIMEVA
4c20: 4c 55 45 20 4c 4f 4e 47 20 33 34 29 0a 0a 09 09  LUE LONG 34)....
4c30: 09 09 09 3b 20 33 35 20 3d 20 4f 42 53 4f 4c 45  ...; 35 = OBSOLE
4c40: 54 45 20 0a 0a 20 20 3b 3b 20 2f 2a 20 43 75 73  TE ..  ;; /* Cus
4c50: 74 6f 6d 20 72 65 71 75 65 73 74 20 66 6f 72 20  tom request for 
4c60: 63 75 73 74 6f 6d 69 7a 69 6e 67 20 74 68 65 20  customizing the 
4c70: 67 65 74 20 63 6f 6d 6d 61 6e 64 20 6c 69 6b 65  get command like
4c80: 0a 20 20 3b 3b 20 20 20 20 48 54 54 50 3a 20 44  .  ;;    HTTP: D
4c90: 45 4c 45 54 45 20 54 52 41 43 45 20 61 6e 64 20  ELETE TRACE and 
4ca0: 6f 74 68 65 72 73 0a 20 20 3b 3b 20 20 20 20 46  others.  ;;    F
4cb0: 54 50 3a 20 74 6f 20 75 73 65 20 61 20 64 69 66  TP: to use a dif
4cc0: 66 65 72 65 6e 74 20 6c 69 73 74 20 63 6f 6d 6d  ferent list comm
4cd0: 61 6e 64 0a 20 20 3b 3b 20 20 20 20 2a 2f 0a 20  and.  ;;    */. 
4ce0: 20 28 43 49 4e 49 54 20 43 55 53 54 4f 4d 52 45   (CINIT CUSTOMRE
4cf0: 51 55 45 53 54 20 53 54 52 49 4e 47 50 4f 49 4e  QUEST STRINGPOIN
4d00: 54 20 33 36 29 0a 0a 09 09 09 09 09 3b 20 46 49  T 36).......; FI
4d10: 4c 45 20 68 61 6e 64 6c 65 20 74 6f 20 75 73 65  LE handle to use
4d20: 20 69 6e 73 74 65 61 64 20 6f 66 20 73 74 64 65   instead of stde
4d30: 72 72 20 0a 20 20 28 43 49 4e 49 54 20 53 54 44  rr .  (CINIT STD
4d40: 45 52 52 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20  ERR OBJECTPOINT 
4d50: 33 37 29 0a 0a 09 09 09 09 09 3b 20 33 38 20 69  37).......; 38 i
4d60: 73 20 6e 6f 74 20 75 73 65 64 20 0a 0a 09 09 09  s not used .....
4d70: 09 09 3b 20 73 65 6e 64 20 6c 69 6e 6b 65 64 2d  ..; send linked-
4d80: 6c 69 73 74 20 6f 66 20 70 6f 73 74 2d 74 72 61  list of post-tra
4d90: 6e 73 66 65 72 20 51 55 4f 54 45 20 63 6f 6d 6d  nsfer QUOTE comm
4da0: 61 6e 64 73 20 0a 20 20 28 43 49 4e 49 54 20 50  ands .  (CINIT P
4db0: 4f 53 54 51 55 4f 54 45 20 4f 42 4a 45 43 54 50  OSTQUOTE OBJECTP
4dc0: 4f 49 4e 54 20 33 39 29 0a 0a 20 20 28 43 49 4e  OINT 39)..  (CIN
4dd0: 49 54 20 4f 42 53 4f 4c 45 54 45 34 30 20 4f 42  IT OBSOLETE40 OB
4de0: 4a 45 43 54 50 4f 49 4e 54 20 34 30 29 20 3b 20  JECTPOINT 40) ; 
4df0: 4f 42 53 4f 4c 45 54 45 20 64 6f 20 6e 6f 74 20  OBSOLETE do not 
4e00: 75 73 65 21 20 0a 0a 20 20 28 43 49 4e 49 54 20  use! ..  (CINIT 
4e10: 56 45 52 42 4f 53 45 20 4c 4f 4e 47 20 34 31 29  VERBOSE LONG 41)
4e20: 20 20 20 20 20 20 3b 20 74 61 6c 6b 20 61 20 6c        ; talk a l
4e30: 6f 74 20 0a 20 20 28 43 49 4e 49 54 20 48 45 41  ot .  (CINIT HEA
4e40: 44 45 52 20 4c 4f 4e 47 20 34 32 29 20 20 20 20  DER LONG 42)    
4e50: 20 20 20 3b 20 74 68 72 6f 77 20 74 68 65 20 68     ; throw the h
4e60: 65 61 64 65 72 20 6f 75 74 20 74 6f 6f 20 0a 20  eader out too . 
4e70: 20 28 43 49 4e 49 54 20 4e 4f 50 52 4f 47 52 45   (CINIT NOPROGRE
4e80: 53 53 20 4c 4f 4e 47 20 34 33 29 20 20 20 3b 20  SS LONG 43)   ; 
4e90: 73 68 75 74 20 6f 66 66 20 74 68 65 20 70 72 6f  shut off the pro
4ea0: 67 72 65 73 73 20 6d 65 74 65 72 20 0a 20 20 28  gress meter .  (
4eb0: 43 49 4e 49 54 20 4e 4f 42 4f 44 59 20 4c 4f 4e  CINIT NOBODY LON
4ec0: 47 20 34 34 29 20 20 20 20 20 20 20 3b 20 75 73  G 44)       ; us
4ed0: 65 20 48 45 41 44 20 74 6f 20 67 65 74 20 68 74  e HEAD to get ht
4ee0: 74 70 20 64 6f 63 75 6d 65 6e 74 20 0a 20 20 28  tp document .  (
4ef0: 43 49 4e 49 54 20 46 41 49 4c 4f 4e 45 52 52 4f  CINIT FAILONERRO
4f00: 52 20 4c 4f 4e 47 20 34 35 29 20 20 3b 20 6e 6f  R LONG 45)  ; no
4f10: 20 6f 75 74 70 75 74 20 6f 6e 20 68 74 74 70 20   output on http 
4f20: 65 72 72 6f 72 20 63 6f 64 65 73 20 3e 3d 20 34  error codes >= 4
4f30: 30 30 20 0a 20 20 28 43 49 4e 49 54 20 55 50 4c  00 .  (CINIT UPL
4f40: 4f 41 44 20 4c 4f 4e 47 20 34 36 29 20 20 20 20  OAD LONG 46)    
4f50: 20 20 20 3b 20 74 68 69 73 20 69 73 20 61 6e 20     ; this is an 
4f60: 75 70 6c 6f 61 64 20 0a 20 20 28 43 49 4e 49 54  upload .  (CINIT
4f70: 20 50 4f 53 54 20 4c 4f 4e 47 20 34 37 29 20 20   POST LONG 47)  
4f80: 20 20 20 20 20 20 20 3b 20 48 54 54 50 20 50 4f         ; HTTP PO
4f90: 53 54 20 6d 65 74 68 6f 64 20 0a 20 20 28 43 49  ST method .  (CI
4fa0: 4e 49 54 20 44 49 52 4c 49 53 54 4f 4e 4c 59 20  NIT DIRLISTONLY 
4fb0: 4c 4f 4e 47 20 34 38 29 20 20 3b 20 62 61 72 65  LONG 48)  ; bare
4fc0: 20 6e 61 6d 65 73 20 77 68 65 6e 20 6c 69 73 74   names when list
4fd0: 69 6e 67 20 64 69 72 65 63 74 6f 72 69 65 73 20  ing directories 
4fe0: 0a 0a 20 20 28 43 49 4e 49 54 20 41 50 50 45 4e  ..  (CINIT APPEN
4ff0: 44 20 4c 4f 4e 47 20 35 30 29 20 20 20 20 20 20  D LONG 50)      
5000: 20 3b 20 41 70 70 65 6e 64 20 69 6e 73 74 65 61   ; Append instea
5010: 64 20 6f 66 20 6f 76 65 72 77 72 69 74 65 20 6f  d of overwrite o
5020: 6e 20 75 70 6c 6f 61 64 21 20 0a 0a 20 20 3b 3b  n upload! ..  ;;
5030: 20 2f 2a 20 53 70 65 63 69 66 79 20 77 68 65 74   /* Specify whet
5040: 68 65 72 20 74 6f 20 72 65 61 64 20 74 68 65 20  her to read the 
5050: 75 73 65 72 2b 70 61 73 73 77 6f 72 64 20 66 72  user+password fr
5060: 6f 6d 20 74 68 65 20 2e 6e 65 74 72 63 20 6f 72  om the .netrc or
5070: 20 74 68 65 20 55 52 4c 2e 0a 20 20 3b 3b 20 20   the URL..  ;;  
5080: 2a 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 6f  * This must be o
5090: 6e 65 20 6f 66 20 74 68 65 20 43 55 52 4c 5f 4e  ne of the CURL_N
50a0: 45 54 52 43 5f 2a 20 65 6e 75 6d 73 20 62 65 6c  ETRC_* enums bel
50b0: 6f 77 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20  ow. */.  (CINIT 
50c0: 4e 45 54 52 43 20 4c 4f 4e 47 20 35 31 29 0a 0a  NETRC LONG 51)..
50d0: 20 20 28 43 49 4e 49 54 20 46 4f 4c 4c 4f 57 4c    (CINIT FOLLOWL
50e0: 4f 43 41 54 49 4f 4e 20 4c 4f 4e 47 20 35 32 29  OCATION LONG 52)
50f0: 20 20 3b 20 75 73 65 20 4c 6f 63 61 74 69 6f 6e    ; use Location
5100: 3a 20 4c 75 6b 65 21 20 0a 0a 20 20 28 43 49 4e  : Luke! ..  (CIN
5110: 49 54 20 54 52 41 4e 53 46 45 52 54 45 58 54 20  IT TRANSFERTEXT 
5120: 4c 4f 4e 47 20 35 33 29 20 3b 20 74 72 61 6e 73  LONG 53) ; trans
5130: 66 65 72 20 64 61 74 61 20 69 6e 20 74 65 78 74  fer data in text
5140: 2f 41 53 43 49 49 20 66 6f 72 6d 61 74 20 0a 20  /ASCII format . 
5150: 20 28 43 49 4e 49 54 20 50 55 54 20 4c 4f 4e 47   (CINIT PUT LONG
5160: 20 35 34 29 20 20 20 20 20 20 20 20 20 20 3b 20   54)          ; 
5170: 48 54 54 50 20 50 55 54 20 0a 0a 09 09 09 09 09  HTTP PUT .......
5180: 3b 20 35 35 20 3d 20 4f 42 53 4f 4c 45 54 45 20  ; 55 = OBSOLETE 
5190: 0a 0a 20 20 3b 3b 20 2f 2a 20 44 45 50 52 45 43  ..  ;; /* DEPREC
51a0: 41 54 45 44 0a 20 20 3b 3b 20 20 2a 20 46 75 6e  ATED.  ;;  * Fun
51b0: 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20  ction that will 
51c0: 62 65 20 63 61 6c 6c 65 64 20 69 6e 73 74 65 61  be called instea
51d0: 64 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6e 61  d of the interna
51e0: 6c 20 70 72 6f 67 72 65 73 73 20 64 69 73 70 6c  l progress displ
51f0: 61 79 0a 20 20 3b 3b 20 20 2a 20 66 75 6e 63 74  ay.  ;;  * funct
5200: 69 6f 6e 2e 20 54 68 69 73 20 66 75 6e 63 74 69  ion. This functi
5210: 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 64 65 66  on should be def
5220: 69 6e 65 64 20 61 73 20 74 68 65 20 63 75 72 6c  ined as the curl
5230: 5f 70 72 6f 67 72 65 73 73 5f 63 61 6c 6c 62 61  _progress_callba
5240: 63 6b 0a 20 20 3b 3b 20 20 2a 20 70 72 6f 74 6f  ck.  ;;  * proto
5250: 74 79 70 65 20 64 65 66 69 6e 65 73 2e 20 2a 2f  type defines. */
5260: 0a 20 20 28 43 49 4e 49 54 20 50 52 4f 47 52 45  .  (CINIT PROGRE
5270: 53 53 46 55 4e 43 54 49 4f 4e 20 46 55 4e 43 54  SSFUNCTION FUNCT
5280: 49 4f 4e 50 4f 49 4e 54 20 35 36 29 0a 0a 20 20  IONPOINT 56)..  
5290: 3b 3b 20 2f 2a 20 44 61 74 61 20 70 61 73 73 65  ;; /* Data passe
52a0: 64 20 74 6f 20 74 68 65 20 43 55 52 4c 4f 50 54  d to the CURLOPT
52b0: 5f 50 52 4f 47 52 45 53 53 46 55 4e 43 54 49 4f  _PROGRESSFUNCTIO
52c0: 4e 20 61 6e 64 20 43 55 52 4c 4f 50 54 5f 58 46  N and CURLOPT_XF
52d0: 45 52 49 4e 46 4f 46 55 4e 43 54 49 4f 4e 0a 20  ERINFOFUNCTION. 
52e0: 20 3b 3b 20 20 20 20 63 61 6c 6c 62 61 63 6b 73   ;;    callbacks
52f0: 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 50 52 4f   */.  (CINIT PRO
5300: 47 52 45 53 53 44 41 54 41 20 4f 42 4a 45 43 54  GRESSDATA OBJECT
5310: 50 4f 49 4e 54 20 35 37 29 0a 20 20 28 64 65 66  POINT 57).  (def
5320: 69 6e 65 20 43 55 52 4c 4f 50 54 5f 58 46 45 52  ine CURLOPT_XFER
5330: 49 4e 46 4f 44 41 54 41 20 43 55 52 4c 4f 50 54  INFODATA CURLOPT
5340: 5f 50 52 4f 47 52 45 53 53 44 41 54 41 29 0a 0a  _PROGRESSDATA)..
5350: 09 09 09 09 09 3b 20 57 65 20 77 61 6e 74 20 74  .....; We want t
5360: 68 65 20 72 65 66 65 72 72 65 72 20 66 69 65 6c  he referrer fiel
5370: 64 20 73 65 74 20 61 75 74 6f 6d 61 74 69 63 61  d set automatica
5380: 6c 6c 79 20 77 68 65 6e 20 66 6f 6c 6c 6f 77 69  lly when followi
5390: 6e 67 20 6c 6f 63 61 74 69 6f 6e 73 20 0a 20 20  ng locations .  
53a0: 28 43 49 4e 49 54 20 41 55 54 4f 52 45 46 45 52  (CINIT AUTOREFER
53b0: 45 52 20 4c 4f 4e 47 20 35 38 29 0a 0a 20 20 3b  ER LONG 58)..  ;
53c0: 3b 20 2f 2a 20 50 6f 72 74 20 6f 66 20 74 68 65  ; /* Port of the
53d0: 20 70 72 6f 78 79 20 63 61 6e 20 62 65 20 73 65   proxy can be se
53e0: 74 20 69 6e 20 74 68 65 20 70 72 6f 78 79 20 73  t in the proxy s
53f0: 74 72 69 6e 67 20 61 73 20 77 65 6c 6c 20 77 69  tring as well wi
5400: 74 68 3a 0a 20 20 3b 3b 20 20 20 20 22 5b 68 6f  th:.  ;;    "[ho
5410: 73 74 5d 3a 5b 70 6f 72 74 5d 22 20 2a 2f 0a 20  st]:[port]" */. 
5420: 20 28 43 49 4e 49 54 20 50 52 4f 58 59 50 4f 52   (CINIT PROXYPOR
5430: 54 20 4c 4f 4e 47 20 35 39 29 0a 0a 09 09 09 09  T LONG 59)......
5440: 09 3b 20 73 69 7a 65 20 6f 66 20 74 68 65 20 50  .; size of the P
5450: 4f 53 54 20 69 6e 70 75 74 20 64 61 74 61 20 69  OST input data i
5460: 66 20 73 74 72 6c 65 6e 28 29 20 69 73 20 6e 6f  f strlen() is no
5470: 74 20 67 6f 6f 64 20 74 6f 20 75 73 65 20 0a 20  t good to use . 
5480: 20 28 43 49 4e 49 54 20 50 4f 53 54 46 49 45 4c   (CINIT POSTFIEL
5490: 44 53 49 5a 45 20 4c 4f 4e 47 20 36 30 29 0a 0a  DSIZE LONG 60)..
54a0: 09 09 09 09 09 3b 20 74 75 6e 6e 65 6c 20 6e 6f  .....; tunnel no
54b0: 6e 2d 68 74 74 70 20 6f 70 65 72 61 74 69 6f 6e  n-http operation
54c0: 73 20 74 68 72 6f 75 67 68 20 61 20 48 54 54 50  s through a HTTP
54d0: 20 70 72 6f 78 79 20 0a 20 20 28 43 49 4e 49 54   proxy .  (CINIT
54e0: 20 48 54 54 50 50 52 4f 58 59 54 55 4e 4e 45 4c   HTTPPROXYTUNNEL
54f0: 20 4c 4f 4e 47 20 36 31 29 0a 0a 09 09 09 09 09   LONG 61).......
5500: 3b 20 53 65 74 20 74 68 65 20 69 6e 74 65 72 66  ; Set the interf
5510: 61 63 65 20 73 74 72 69 6e 67 20 74 6f 20 75 73  ace string to us
5520: 65 20 61 73 20 6f 75 74 67 6f 69 6e 67 20 6e 65  e as outgoing ne
5530: 74 77 6f 72 6b 20 69 6e 74 65 72 66 61 63 65 20  twork interface 
5540: 0a 20 20 28 43 49 4e 49 54 20 49 4e 54 45 52 46  .  (CINIT INTERF
5550: 41 43 45 20 53 54 52 49 4e 47 50 4f 49 4e 54 20  ACE STRINGPOINT 
5560: 36 32 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74  62)..  ;; /* Set
5570: 20 74 68 65 20 6b 72 62 34 2f 35 20 73 65 63 75   the krb4/5 secu
5580: 72 69 74 79 20 6c 65 76 65 6c 20 74 68 69 73 20  rity level this 
5590: 61 6c 73 6f 20 65 6e 61 62 6c 65 73 20 6b 72 62  also enables krb
55a0: 34 2f 35 20 61 77 61 72 65 6e 65 73 73 2e 20 20  4/5 awareness.  
55b0: 54 68 69 73 0a 20 20 3b 3b 20 20 2a 20 69 73 20  This.  ;;  * is 
55c0: 61 20 73 74 72 69 6e 67 20 27 63 6c 65 61 72 27  a string 'clear'
55d0: 20 27 73 61 66 65 27 20 27 63 6f 6e 66 69 64 65   'safe' 'confide
55e0: 6e 74 69 61 6c 27 20 6f 72 20 27 70 72 69 76 61  ntial' or 'priva
55f0: 74 65 27 2e 20 20 49 66 20 74 68 65 20 73 74 72  te'.  If the str
5600: 69 6e 67 0a 20 20 3b 3b 20 20 2a 20 69 73 20 73  ing.  ;;  * is s
5610: 65 74 20 62 75 74 20 64 6f 65 73 6e 27 74 20 6d  et but doesn't m
5620: 61 74 63 68 20 6f 6e 65 20 6f 66 20 74 68 65 73  atch one of thes
5630: 65 20 27 70 72 69 76 61 74 65 27 20 77 69 6c 6c  e 'private' will
5640: 20 62 65 20 75 73 65 64 2e 20 20 2a 2f 0a 20 20   be used.  */.  
5650: 28 43 49 4e 49 54 20 4b 52 42 4c 45 56 45 4c 20  (CINIT KRBLEVEL 
5660: 53 54 52 49 4e 47 50 4f 49 4e 54 20 36 33 29 0a  STRINGPOINT 63).
5670: 0a 09 09 09 09 09 3b 20 53 65 74 20 69 66 20 77  ......; Set if w
5680: 65 20 73 68 6f 75 6c 64 20 76 65 72 69 66 79 20  e should verify 
5690: 74 68 65 20 70 65 65 72 20 69 6e 20 73 73 6c 20  the peer in ssl 
56a0: 68 61 6e 64 73 68 61 6b 65 20 73 65 74 20 31 20  handshake set 1 
56b0: 74 6f 20 76 65 72 69 66 79 2e 20 0a 20 20 28 43  to verify. .  (C
56c0: 49 4e 49 54 20 53 53 4c 5f 56 45 52 49 46 59 50  INIT SSL_VERIFYP
56d0: 45 45 52 20 4c 4f 4e 47 20 36 34 29 0a 0a 20 20  EER LONG 64)..  
56e0: 3b 3b 20 2f 2a 20 54 68 65 20 43 41 70 61 74 68  ;; /* The CApath
56f0: 20 6f 72 20 43 41 66 69 6c 65 20 75 73 65 64 20   or CAfile used 
5700: 74 6f 20 76 61 6c 69 64 61 74 65 20 74 68 65 20  to validate the 
5710: 70 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65  peer certificate
5720: 0a 20 20 3b 3b 20 20 20 20 74 68 69 73 20 6f 70  .  ;;    this op
5730: 74 69 6f 6e 20 69 73 20 75 73 65 64 20 6f 6e 6c  tion is used onl
5740: 79 20 69 66 20 53 53 4c 5f 56 45 52 49 46 59 50  y if SSL_VERIFYP
5750: 45 45 52 20 69 73 20 74 72 75 65 20 2a 2f 0a 20  EER is true */. 
5760: 20 28 43 49 4e 49 54 20 43 41 49 4e 46 4f 20 53   (CINIT CAINFO S
5770: 54 52 49 4e 47 50 4f 49 4e 54 20 36 35 29 0a 0a  TRINGPOINT 65)..
5780: 09 09 09 09 09 3b 20 36 36 20 3d 20 4f 42 53 4f  .....; 66 = OBSO
5790: 4c 45 54 45 20 0a 09 09 09 09 09 3b 20 36 37 20  LETE ......; 67 
57a0: 3d 20 4f 42 53 4f 4c 45 54 45 20 0a 0a 09 09 09  = OBSOLETE .....
57b0: 09 09 3b 20 4d 61 78 69 6d 75 6d 20 6e 75 6d 62  ..; Maximum numb
57c0: 65 72 20 6f 66 20 68 74 74 70 20 72 65 64 69 72  er of http redir
57d0: 65 63 74 73 20 74 6f 20 66 6f 6c 6c 6f 77 20 0a  ects to follow .
57e0: 20 20 28 43 49 4e 49 54 20 4d 41 58 52 45 44 49    (CINIT MAXREDI
57f0: 52 53 20 4c 4f 4e 47 20 36 38 29 0a 0a 20 20 3b  RS LONG 68)..  ;
5800: 3b 20 2f 2a 20 50 61 73 73 20 61 20 6c 6f 6e 67  ; /* Pass a long
5810: 20 73 65 74 20 74 6f 20 31 20 74 6f 20 67 65 74   set to 1 to get
5820: 20 74 68 65 20 64 61 74 65 20 6f 66 20 74 68 65   the date of the
5830: 20 72 65 71 75 65 73 74 65 64 20 64 6f 63 75 6d   requested docum
5840: 65 6e 74 20 28 69 66 0a 20 20 3b 3b 20 20 20 20  ent (if.  ;;    
5850: 70 6f 73 73 69 62 6c 65 29 21 20 50 61 73 73 20  possible)! Pass 
5860: 61 20 7a 65 72 6f 20 74 6f 20 73 68 75 74 20 69  a zero to shut i
5870: 74 20 6f 66 66 2e 20 2a 2f 0a 20 20 28 43 49 4e  t off. */.  (CIN
5880: 49 54 20 46 49 4c 45 54 49 4d 45 20 4c 4f 4e 47  IT FILETIME LONG
5890: 20 36 39 29 0a 0a 09 09 09 09 09 3b 20 54 68 69   69).......; Thi
58a0: 73 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 6c 69  s points to a li
58b0: 6e 6b 65 64 20 6c 69 73 74 20 6f 66 20 74 65 6c  nked list of tel
58c0: 6e 65 74 20 6f 70 74 69 6f 6e 73 20 0a 20 20 28  net options .  (
58d0: 43 49 4e 49 54 20 54 45 4c 4e 45 54 4f 50 54 49  CINIT TELNETOPTI
58e0: 4f 4e 53 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20  ONS OBJECTPOINT 
58f0: 37 30 29 0a 0a 09 09 09 09 09 3b 20 4d 61 78 20  70).......; Max 
5900: 61 6d 6f 75 6e 74 20 6f 66 20 63 61 63 68 65 64  amount of cached
5910: 20 61 6c 69 76 65 20 63 6f 6e 6e 65 63 74 69 6f   alive connectio
5920: 6e 73 20 0a 20 20 28 43 49 4e 49 54 20 4d 41 58  ns .  (CINIT MAX
5930: 43 4f 4e 4e 45 43 54 53 20 4c 4f 4e 47 20 37 31  CONNECTS LONG 71
5940: 29 0a 0a 20 20 28 43 49 4e 49 54 20 4f 42 53 4f  )..  (CINIT OBSO
5950: 4c 45 54 45 37 32 20 4c 4f 4e 47 20 37 32 29 20  LETE72 LONG 72) 
5960: 3b 20 4f 42 53 4f 4c 45 54 45 20 64 6f 20 6e 6f  ; OBSOLETE do no
5970: 74 20 75 73 65 21 20 0a 0a 09 09 09 09 09 3b 20  t use! .......; 
5980: 37 33 20 3d 20 4f 42 53 4f 4c 45 54 45 20 0a 0a  73 = OBSOLETE ..
5990: 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74 6f 20 65    ;; /* Set to e
59a0: 78 70 6c 69 63 69 74 6c 79 20 75 73 65 20 61 20  xplicitly use a 
59b0: 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 66  new connection f
59c0: 6f 72 20 74 68 65 20 75 70 63 6f 6d 69 6e 67 20  or the upcoming 
59d0: 74 72 61 6e 73 66 65 72 2e 0a 20 20 3b 3b 20 20  transfer..  ;;  
59e0: 20 20 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 69    Do not use thi
59f0: 73 20 75 6e 6c 65 73 73 20 79 6f 75 27 72 65 20  s unless you're 
5a00: 61 62 73 6f 6c 75 74 65 6c 79 20 73 75 72 65 20  absolutely sure 
5a10: 6f 66 20 74 68 69 73 20 61 73 20 69 74 20 6d 61  of this as it ma
5a20: 6b 65 73 20 74 68 65 0a 20 20 3b 3b 20 20 20 20  kes the.  ;;    
5a30: 6f 70 65 72 61 74 69 6f 6e 20 73 6c 6f 77 65 72  operation slower
5a40: 20 61 6e 64 20 69 73 20 6c 65 73 73 20 66 72 69   and is less fri
5a50: 65 6e 64 6c 79 20 66 6f 72 20 74 68 65 20 6e 65  endly for the ne
5a60: 74 77 6f 72 6b 2e 20 2a 2f 0a 20 20 28 43 49 4e  twork. */.  (CIN
5a70: 49 54 20 46 52 45 53 48 5f 43 4f 4e 4e 45 43 54  IT FRESH_CONNECT
5a80: 20 4c 4f 4e 47 20 37 34 29 0a 0a 20 20 3b 3b 20   LONG 74)..  ;; 
5a90: 2f 2a 20 53 65 74 20 74 6f 20 65 78 70 6c 69 63  /* Set to explic
5aa0: 69 74 6c 79 20 66 6f 72 62 69 64 20 74 68 65 20  itly forbid the 
5ab0: 75 70 63 6f 6d 69 6e 67 20 74 72 61 6e 73 66 65  upcoming transfe
5ac0: 72 27 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74  r's connection t
5ad0: 6f 20 62 65 20 72 65 2d 75 73 65 64 0a 20 20 3b  o be re-used.  ;
5ae0: 3b 20 20 20 20 77 68 65 6e 20 64 6f 6e 65 2e 20  ;    when done. 
5af0: 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20  Do not use this 
5b00: 75 6e 6c 65 73 73 20 79 6f 75 27 72 65 20 61 62  unless you're ab
5b10: 73 6f 6c 75 74 65 6c 79 20 73 75 72 65 20 6f 66  solutely sure of
5b20: 20 74 68 69 73 20 61 73 20 69 74 0a 20 20 3b 3b   this as it.  ;;
5b30: 20 20 20 20 6d 61 6b 65 73 20 74 68 65 20 6f 70      makes the op
5b40: 65 72 61 74 69 6f 6e 20 73 6c 6f 77 65 72 20 61  eration slower a
5b50: 6e 64 20 69 73 20 6c 65 73 73 20 66 72 69 65 6e  nd is less frien
5b60: 64 6c 79 20 66 6f 72 20 74 68 65 20 6e 65 74 77  dly for the netw
5b70: 6f 72 6b 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54  ork. */.  (CINIT
5b80: 20 46 4f 52 42 49 44 5f 52 45 55 53 45 20 4c 4f   FORBID_REUSE LO
5b90: 4e 47 20 37 35 29 0a 0a 20 20 3b 3b 20 2f 2a 20  NG 75)..  ;; /* 
5ba0: 53 65 74 20 74 6f 20 61 20 66 69 6c 65 20 6e 61  Set to a file na
5bb0: 6d 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73  me that contains
5bc0: 20 72 61 6e 64 6f 6d 20 64 61 74 61 20 66 6f 72   random data for
5bd0: 20 6c 69 62 63 75 72 6c 20 74 6f 20 75 73 65 20   libcurl to use 
5be0: 74 6f 0a 20 20 3b 3b 20 20 20 20 73 65 65 64 20  to.  ;;    seed 
5bf0: 74 68 65 20 72 61 6e 64 6f 6d 20 65 6e 67 69 6e  the random engin
5c00: 65 20 77 68 65 6e 20 64 6f 69 6e 67 20 53 53 4c  e when doing SSL
5c10: 20 63 6f 6e 6e 65 63 74 73 2e 20 2a 2f 0a 20 20   connects. */.  
5c20: 28 43 49 4e 49 54 20 52 41 4e 44 4f 4d 5f 46 49  (CINIT RANDOM_FI
5c30: 4c 45 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 37  LE STRINGPOINT 7
5c40: 36 29 0a 0a 09 09 09 09 09 3b 20 53 65 74 20 74  6).......; Set t
5c50: 6f 20 74 68 65 20 45 6e 74 72 6f 70 79 20 47 61  o the Entropy Ga
5c60: 74 68 65 72 69 6e 67 20 44 61 65 6d 6f 6e 20 73  thering Daemon s
5c70: 6f 63 6b 65 74 20 70 61 74 68 6e 61 6d 65 20 0a  ocket pathname .
5c80: 20 20 28 43 49 4e 49 54 20 45 47 44 53 4f 43 4b    (CINIT EGDSOCK
5c90: 45 54 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 37  ET STRINGPOINT 7
5ca0: 37 29 0a 0a 20 20 3b 3b 20 2f 2a 20 54 69 6d 65  7)..  ;; /* Time
5cb0: 2d 6f 75 74 20 63 6f 6e 6e 65 63 74 20 6f 70 65  -out connect ope
5cc0: 72 61 74 69 6f 6e 73 20 61 66 74 65 72 20 74 68  rations after th
5cd0: 69 73 20 61 6d 6f 75 6e 74 20 6f 66 20 73 65 63  is amount of sec
5ce0: 6f 6e 64 73 20 69 66 20 63 6f 6e 6e 65 63 74 73  onds if connects
5cf0: 20 61 72 65 0a 20 20 3b 3b 20 20 20 20 4f 4b 20   are.  ;;    OK 
5d00: 77 69 74 68 69 6e 20 74 68 69 73 20 74 69 6d 65  within this time
5d10: 20 74 68 65 6e 20 66 69 6e 65 2e 2e 2e 20 54 68   then fine... Th
5d20: 69 73 20 6f 6e 6c 79 20 61 62 6f 72 74 73 20 74  is only aborts t
5d30: 68 65 20 63 6f 6e 6e 65 63 74 20 70 68 61 73 65  he connect phase
5d40: 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 43 4f  . */.  (CINIT CO
5d50: 4e 4e 45 43 54 54 49 4d 45 4f 55 54 20 4c 4f 4e  NNECTTIMEOUT LON
5d60: 47 20 37 38 29 0a 0a 20 20 3b 3b 20 2f 2a 20 46  G 78)..  ;; /* F
5d70: 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c  unction that wil
5d80: 6c 20 62 65 20 63 61 6c 6c 65 64 20 74 6f 20 73  l be called to s
5d90: 74 6f 72 65 20 68 65 61 64 65 72 73 20 28 69 6e  tore headers (in
5da0: 73 74 65 61 64 20 6f 66 20 66 77 72 69 74 65 29  stead of fwrite)
5db0: 2e 20 54 68 65 0a 20 20 3b 3b 20 20 2a 20 70 61  . The.  ;;  * pa
5dc0: 72 61 6d 65 74 65 72 73 20 77 69 6c 6c 20 75 73  rameters will us
5dd0: 65 20 66 77 72 69 74 65 28 29 20 73 79 6e 74 61  e fwrite() synta
5de0: 78 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 66  x make sure to f
5df0: 6f 6c 6c 6f 77 20 74 68 65 6d 2e 20 2a 2f 0a 20  ollow them. */. 
5e00: 20 28 43 49 4e 49 54 20 48 45 41 44 45 52 46 55   (CINIT HEADERFU
5e10: 4e 43 54 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 50  NCTION FUNCTIONP
5e20: 4f 49 4e 54 20 37 39 29 0a 0a 20 20 3b 3b 20 2f  OINT 79)..  ;; /
5e30: 2a 20 53 65 74 20 74 68 69 73 20 74 6f 20 66 6f  * Set this to fo
5e40: 72 63 65 20 74 68 65 20 48 54 54 50 20 72 65 71  rce the HTTP req
5e50: 75 65 73 74 20 74 6f 20 67 65 74 20 62 61 63 6b  uest to get back
5e60: 20 74 6f 20 47 45 54 2e 20 4f 6e 6c 79 20 72 65   to GET. Only re
5e70: 61 6c 6c 79 20 75 73 61 62 6c 65 0a 20 20 3b 3b  ally usable.  ;;
5e80: 20 20 20 20 69 66 20 50 4f 53 54 20 50 55 54 20      if POST PUT 
5e90: 6f 72 20 61 20 63 75 73 74 6f 6d 20 72 65 71 75  or a custom requ
5ea0: 65 73 74 20 68 61 76 65 20 62 65 65 6e 20 75 73  est have been us
5eb0: 65 64 20 66 69 72 73 74 2e 0a 20 20 3b 3b 20 20  ed first..  ;;  
5ec0: 2a 2f 0a 20 20 28 43 49 4e 49 54 20 48 54 54 50  */.  (CINIT HTTP
5ed0: 47 45 54 20 4c 4f 4e 47 20 38 30 29 0a 0a 20 20  GET LONG 80)..  
5ee0: 3b 3b 20 2f 2a 20 53 65 74 20 69 66 20 77 65 20  ;; /* Set if we 
5ef0: 73 68 6f 75 6c 64 20 76 65 72 69 66 79 20 74 68  should verify th
5f00: 65 20 43 6f 6d 6d 6f 6e 20 6e 61 6d 65 20 66 72  e Common name fr
5f10: 6f 6d 20 74 68 65 20 70 65 65 72 20 63 65 72 74  om the peer cert
5f20: 69 66 69 63 61 74 65 20 69 6e 20 73 73 6c 0a 20  ificate in ssl. 
5f30: 20 3b 3b 20 20 2a 20 68 61 6e 64 73 68 61 6b 65   ;;  * handshake
5f40: 20 73 65 74 20 31 20 74 6f 20 63 68 65 63 6b 20   set 1 to check 
5f50: 65 78 69 73 74 65 6e 63 65 20 32 20 74 6f 20 65  existence 2 to e
5f60: 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 6d 61  nsure that it ma
5f70: 74 63 68 65 73 20 74 68 65 0a 20 20 3b 3b 20 20  tches the.  ;;  
5f80: 2a 20 70 72 6f 76 69 64 65 64 20 68 6f 73 74 6e  * provided hostn
5f90: 61 6d 65 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54  ame. */.  (CINIT
5fa0: 20 53 53 4c 5f 56 45 52 49 46 59 48 4f 53 54 20   SSL_VERIFYHOST 
5fb0: 4c 4f 4e 47 20 38 31 29 0a 0a 20 20 3b 3b 20 2f  LONG 81)..  ;; /
5fc0: 2a 20 53 70 65 63 69 66 79 20 77 68 69 63 68 20  * Specify which 
5fd0: 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 77 72 69  file name to wri
5fe0: 74 65 20 61 6c 6c 20 6b 6e 6f 77 6e 20 63 6f 6f  te all known coo
5ff0: 6b 69 65 73 20 69 6e 20 61 66 74 65 72 20 63 6f  kies in after co
6000: 6d 70 6c 65 74 65 64 0a 20 20 3b 3b 20 20 20 20  mpleted.  ;;    
6010: 6f 70 65 72 61 74 69 6f 6e 2e 20 53 65 74 20 66  operation. Set f
6020: 69 6c 65 20 6e 61 6d 65 20 74 6f 20 22 2d 22 20  ile name to "-" 
6030: 28 64 61 73 68 29 20 74 6f 20 6d 61 6b 65 20 69  (dash) to make i
6040: 74 20 67 6f 20 74 6f 20 73 74 64 6f 75 74 2e 20  t go to stdout. 
6050: 2a 2f 0a 20 20 28 43 49 4e 49 54 20 43 4f 4f 4b  */.  (CINIT COOK
6060: 49 45 4a 41 52 20 53 54 52 49 4e 47 50 4f 49 4e  IEJAR STRINGPOIN
6070: 54 20 38 32 29 0a 0a 09 09 09 09 09 3b 20 53 70  T 82).......; Sp
6080: 65 63 69 66 79 20 77 68 69 63 68 20 53 53 4c 20  ecify which SSL 
6090: 63 69 70 68 65 72 73 20 74 6f 20 75 73 65 20 0a  ciphers to use .
60a0: 20 20 28 43 49 4e 49 54 20 53 53 4c 5f 43 49 50    (CINIT SSL_CIP
60b0: 48 45 52 5f 4c 49 53 54 20 53 54 52 49 4e 47 50  HER_LIST STRINGP
60c0: 4f 49 4e 54 20 38 33 29 0a 0a 20 20 3b 3b 20 2f  OINT 83)..  ;; /
60d0: 2a 20 53 70 65 63 69 66 79 20 77 68 69 63 68 20  * Specify which 
60e0: 48 54 54 50 20 76 65 72 73 69 6f 6e 20 74 6f 20  HTTP version to 
60f0: 75 73 65 21 20 54 68 69 73 20 6d 75 73 74 20 62  use! This must b
6100: 65 20 73 65 74 20 74 6f 20 6f 6e 65 20 6f 66 20  e set to one of 
6110: 74 68 65 0a 20 20 3b 3b 20 20 20 20 43 55 52 4c  the.  ;;    CURL
6120: 5f 48 54 54 50 5f 56 45 52 53 49 4f 4e 2a 20 65  _HTTP_VERSION* e
6130: 6e 75 6d 73 20 73 65 74 20 62 65 6c 6f 77 2e 20  nums set below. 
6140: 2a 2f 0a 20 20 28 43 49 4e 49 54 20 48 54 54 50  */.  (CINIT HTTP
6150: 5f 56 45 52 53 49 4f 4e 20 4c 4f 4e 47 20 38 34  _VERSION LONG 84
6160: 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 70 65 63 69  )..  ;; /* Speci
6170: 66 69 63 61 6c 6c 79 20 73 77 69 74 63 68 20 6f  fically switch o
6180: 6e 20 6f 72 20 6f 66 66 20 74 68 65 20 46 54 50  n or off the FTP
6190: 20 65 6e 67 69 6e 65 27 73 20 75 73 65 20 6f 66   engine's use of
61a0: 20 74 68 65 20 45 50 53 56 20 63 6f 6d 6d 61 6e   the EPSV comman
61b0: 64 2e 20 42 79 0a 20 20 3b 3b 20 20 20 20 64 65  d. By.  ;;    de
61c0: 66 61 75 6c 74 20 74 68 61 74 20 6f 6e 65 20 77  fault that one w
61d0: 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 61 74  ill always be at
61e0: 74 65 6d 70 74 65 64 20 62 65 66 6f 72 65 20 74  tempted before t
61f0: 68 65 20 6d 6f 72 65 20 74 72 61 64 69 74 69 6f  he more traditio
6200: 6e 61 6c 0a 20 20 3b 3b 20 20 20 20 50 41 53 56  nal.  ;;    PASV
6210: 20 63 6f 6d 6d 61 6e 64 2e 20 2a 2f 0a 20 20 28   command. */.  (
6220: 43 49 4e 49 54 20 46 54 50 5f 55 53 45 5f 45 50  CINIT FTP_USE_EP
6230: 53 56 20 4c 4f 4e 47 20 38 35 29 0a 0a 09 09 09  SV LONG 85).....
6240: 09 09 3b 20 74 79 70 65 20 6f 66 20 74 68 65 20  ..; type of the 
6250: 66 69 6c 65 20 6b 65 65 70 69 6e 67 20 79 6f 75  file keeping you
6260: 72 20 53 53 4c 2d 63 65 72 74 69 66 69 63 61 74  r SSL-certificat
6270: 65 20 28 22 44 45 52 22 20 22 50 45 4d 22 20 22  e ("DER" "PEM" "
6280: 45 4e 47 22 29 20 0a 20 20 28 43 49 4e 49 54 20  ENG") .  (CINIT 
6290: 53 53 4c 43 45 52 54 54 59 50 45 20 53 54 52 49  SSLCERTTYPE STRI
62a0: 4e 47 50 4f 49 4e 54 20 38 36 29 0a 0a 09 09 09  NGPOINT 86).....
62b0: 09 09 3b 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  ..; name of the 
62c0: 66 69 6c 65 20 6b 65 65 70 69 6e 67 20 79 6f 75  file keeping you
62d0: 72 20 70 72 69 76 61 74 65 20 53 53 4c 2d 6b 65  r private SSL-ke
62e0: 79 20 0a 20 20 28 43 49 4e 49 54 20 53 53 4c 4b  y .  (CINIT SSLK
62f0: 45 59 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 38  EY STRINGPOINT 8
6300: 37 29 0a 0a 09 09 09 09 09 3b 20 74 79 70 65 20  7).......; type 
6310: 6f 66 20 74 68 65 20 66 69 6c 65 20 6b 65 65 70  of the file keep
6320: 69 6e 67 20 79 6f 75 72 20 70 72 69 76 61 74 65  ing your private
6330: 20 53 53 4c 2d 6b 65 79 20 28 22 44 45 52 22 20   SSL-key ("DER" 
6340: 22 50 45 4d 22 20 22 45 4e 47 22 29 20 0a 20 20  "PEM" "ENG") .  
6350: 28 43 49 4e 49 54 20 53 53 4c 4b 45 59 54 59 50  (CINIT SSLKEYTYP
6360: 45 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 38 38  E STRINGPOINT 88
6370: 29 0a 0a 09 09 09 09 09 3b 20 63 72 79 70 74 6f  ).......; crypto
6380: 20 65 6e 67 69 6e 65 20 66 6f 72 20 74 68 65 20   engine for the 
6390: 53 53 4c 2d 73 75 62 20 73 79 73 74 65 6d 20 0a  SSL-sub system .
63a0: 20 20 28 43 49 4e 49 54 20 53 53 4c 45 4e 47 49    (CINIT SSLENGI
63b0: 4e 45 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 38  NE STRINGPOINT 8
63c0: 39 29 0a 0a 20 20 3b 3b 20 2f 2a 20 73 65 74 20  9)..  ;; /* set 
63d0: 74 68 65 20 63 72 79 70 74 6f 20 65 6e 67 69 6e  the crypto engin
63e0: 65 20 66 6f 72 20 74 68 65 20 53 53 4c 2d 73 75  e for the SSL-su
63f0: 62 20 73 79 73 74 65 6d 20 61 73 20 64 65 66 61  b system as defa
6400: 75 6c 74 0a 20 20 3b 3b 20 20 20 20 74 68 65 20  ult.  ;;    the 
6410: 70 61 72 61 6d 20 68 61 73 20 6e 6f 20 6d 65 61  param has no mea
6420: 6e 69 6e 67 2e 2e 2e 0a 20 20 3b 3b 20 20 2a 2f  ning....  ;;  */
6430: 0a 20 20 28 43 49 4e 49 54 20 53 53 4c 45 4e 47  .  (CINIT SSLENG
6440: 49 4e 45 5f 44 45 46 41 55 4c 54 20 4c 4f 4e 47  INE_DEFAULT LONG
6450: 20 39 30 29 0a 0a 09 09 09 09 09 3b 20 4e 6f 6e   90).......; Non
6460: 2d 7a 65 72 6f 20 76 61 6c 75 65 20 6d 65 61 6e  -zero value mean
6470: 73 20 74 6f 20 75 73 65 20 74 68 65 20 67 6c 6f  s to use the glo
6480: 62 61 6c 20 64 6e 73 20 63 61 63 68 65 20 0a 20  bal dns cache . 
6490: 20 28 43 49 4e 49 54 20 44 4e 53 5f 55 53 45 5f   (CINIT DNS_USE_
64a0: 47 4c 4f 42 41 4c 5f 43 41 43 48 45 20 4c 4f 4e  GLOBAL_CACHE LON
64b0: 47 20 39 31 29 20 3b 20 44 45 50 52 45 43 41 54  G 91) ; DEPRECAT
64c0: 45 44 20 64 6f 20 6e 6f 74 20 75 73 65 21 20 0a  ED do not use! .
64d0: 0a 09 09 09 09 09 3b 20 44 4e 53 20 63 61 63 68  ......; DNS cach
64e0: 65 20 74 69 6d 65 6f 75 74 20 0a 20 20 28 43 49  e timeout .  (CI
64f0: 4e 49 54 20 44 4e 53 5f 43 41 43 48 45 5f 54 49  NIT DNS_CACHE_TI
6500: 4d 45 4f 55 54 20 4c 4f 4e 47 20 39 32 29 0a 0a  MEOUT LONG 92)..
6510: 09 09 09 09 09 3b 20 73 65 6e 64 20 6c 69 6e 6b  .....; send link
6520: 65 64 2d 6c 69 73 74 20 6f 66 20 70 72 65 2d 74  ed-list of pre-t
6530: 72 61 6e 73 66 65 72 20 51 55 4f 54 45 20 63 6f  ransfer QUOTE co
6540: 6d 6d 61 6e 64 73 20 0a 20 20 28 43 49 4e 49 54  mmands .  (CINIT
6550: 20 50 52 45 51 55 4f 54 45 20 4f 42 4a 45 43 54   PREQUOTE OBJECT
6560: 50 4f 49 4e 54 20 39 33 29 0a 0a 09 09 09 09 09  POINT 93).......
6570: 3b 20 73 65 74 20 74 68 65 20 64 65 62 75 67 20  ; set the debug 
6580: 66 75 6e 63 74 69 6f 6e 20 0a 20 20 28 43 49 4e  function .  (CIN
6590: 49 54 20 44 45 42 55 47 46 55 4e 43 54 49 4f 4e  IT DEBUGFUNCTION
65a0: 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e 54 20 39   FUNCTIONPOINT 9
65b0: 34 29 0a 0a 09 09 09 09 09 3b 20 73 65 74 20 74  4).......; set t
65c0: 68 65 20 64 61 74 61 20 66 6f 72 20 74 68 65 20  he data for the 
65d0: 64 65 62 75 67 20 66 75 6e 63 74 69 6f 6e 20 0a  debug function .
65e0: 20 20 28 43 49 4e 49 54 20 44 45 42 55 47 44 41    (CINIT DEBUGDA
65f0: 54 41 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20 39  TA OBJECTPOINT 9
6600: 35 29 0a 0a 09 09 09 09 09 3b 20 6d 61 72 6b 20  5).......; mark 
6610: 74 68 69 73 20 61 73 20 73 74 61 72 74 20 6f 66  this as start of
6620: 20 61 20 63 6f 6f 6b 69 65 20 73 65 73 73 69 6f   a cookie sessio
6630: 6e 20 0a 20 20 28 43 49 4e 49 54 20 43 4f 4f 4b  n .  (CINIT COOK
6640: 49 45 53 45 53 53 49 4f 4e 20 4c 4f 4e 47 20 39  IESESSION LONG 9
6650: 36 29 0a 0a 20 20 3b 3b 20 2f 2a 20 54 68 65 20  6)..  ;; /* The 
6660: 43 41 70 61 74 68 20 64 69 72 65 63 74 6f 72 79  CApath directory
6670: 20 75 73 65 64 20 74 6f 20 76 61 6c 69 64 61 74   used to validat
6680: 65 20 74 68 65 20 70 65 65 72 20 63 65 72 74 69  e the peer certi
6690: 66 69 63 61 74 65 0a 20 20 3b 3b 20 20 20 20 74  ficate.  ;;    t
66a0: 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 75 73  his option is us
66b0: 65 64 20 6f 6e 6c 79 20 69 66 20 53 53 4c 5f 56  ed only if SSL_V
66c0: 45 52 49 46 59 50 45 45 52 20 69 73 20 74 72 75  ERIFYPEER is tru
66d0: 65 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 43 41  e */.  (CINIT CA
66e0: 50 41 54 48 20 53 54 52 49 4e 47 50 4f 49 4e 54  PATH STRINGPOINT
66f0: 20 39 37 29 0a 0a 09 09 09 09 09 3b 20 49 6e 73   97).......; Ins
6700: 74 72 75 63 74 20 6c 69 62 63 75 72 6c 20 74 6f  truct libcurl to
6710: 20 75 73 65 20 61 20 73 6d 61 6c 6c 65 72 20 72   use a smaller r
6720: 65 63 65 69 76 65 20 62 75 66 66 65 72 20 0a 20  eceive buffer . 
6730: 20 28 43 49 4e 49 54 20 42 55 46 46 45 52 53 49   (CINIT BUFFERSI
6740: 5a 45 20 4c 4f 4e 47 20 39 38 29 0a 0a 20 20 3b  ZE LONG 98)..  ;
6750: 3b 20 2f 2a 20 49 6e 73 74 72 75 63 74 20 6c 69  ; /* Instruct li
6760: 62 63 75 72 6c 20 74 6f 20 6e 6f 74 20 75 73 65  bcurl to not use
6770: 20 61 6e 79 20 73 69 67 6e 61 6c 2f 61 6c 61 72   any signal/alar
6780: 6d 20 68 61 6e 64 6c 65 72 73 20 65 76 65 6e 20  m handlers even 
6790: 77 68 65 6e 20 75 73 69 6e 67 0a 20 20 3b 3b 20  when using.  ;; 
67a0: 20 20 20 74 69 6d 65 6f 75 74 73 2e 20 54 68 69     timeouts. Thi
67b0: 73 20 6f 70 74 69 6f 6e 20 69 73 20 75 73 65 66  s option is usef
67c0: 75 6c 20 66 6f 72 20 6d 75 6c 74 69 2d 74 68 72  ul for multi-thr
67d0: 65 61 64 65 64 20 61 70 70 6c 69 63 61 74 69 6f  eaded applicatio
67e0: 6e 73 2e 0a 20 20 3b 3b 20 20 20 20 53 65 65 20  ns..  ;;    See 
67f0: 6c 69 62 63 75 72 6c 2d 74 68 65 2d 67 75 69 64  libcurl-the-guid
6800: 65 20 66 6f 72 20 6d 6f 72 65 20 62 61 63 6b 67  e for more backg
6810: 72 6f 75 6e 64 20 69 6e 66 6f 72 6d 61 74 69 6f  round informatio
6820: 6e 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 4e  n. */.  (CINIT N
6830: 4f 53 49 47 4e 41 4c 20 4c 4f 4e 47 20 39 39 29  OSIGNAL LONG 99)
6840: 0a 0a 09 09 09 09 09 3b 20 50 72 6f 76 69 64 65  .......; Provide
6850: 20 61 20 43 55 52 4c 53 68 61 72 65 20 66 6f 72   a CURLShare for
6860: 20 6d 75 74 65 78 69 6e 67 20 6e 6f 6e 2d 74 73   mutexing non-ts
6870: 20 64 61 74 61 20 0a 20 20 28 43 49 4e 49 54 20   data .  (CINIT 
6880: 53 48 41 52 45 20 4f 42 4a 45 43 54 50 4f 49 4e  SHARE OBJECTPOIN
6890: 54 20 31 30 30 29 0a 0a 20 20 3b 3b 20 2f 2a 20  T 100)..  ;; /* 
68a0: 69 6e 64 69 63 61 74 65 73 20 74 79 70 65 20 6f  indicates type o
68b0: 66 20 70 72 6f 78 79 2e 20 61 63 63 65 70 74 65  f proxy. accepte
68c0: 64 20 76 61 6c 75 65 73 20 61 72 65 20 43 55 52  d values are CUR
68d0: 4c 50 52 4f 58 59 5f 48 54 54 50 20 28 64 65 66  LPROXY_HTTP (def
68e0: 61 75 6c 74 29 0a 20 20 3b 3b 20 20 20 20 43 55  ault).  ;;    CU
68f0: 52 4c 50 52 4f 58 59 5f 53 4f 43 4b 53 34 20 43  RLPROXY_SOCKS4 C
6900: 55 52 4c 50 52 4f 58 59 5f 53 4f 43 4b 53 34 41  URLPROXY_SOCKS4A
6910: 20 61 6e 64 20 43 55 52 4c 50 52 4f 58 59 5f 53   and CURLPROXY_S
6920: 4f 43 4b 53 35 2e 20 2a 2f 0a 20 20 28 43 49 4e  OCKS5. */.  (CIN
6930: 49 54 20 50 52 4f 58 59 54 59 50 45 20 4c 4f 4e  IT PROXYTYPE LON
6940: 47 20 31 30 31 29 0a 0a 20 20 3b 3b 20 2f 2a 20  G 101)..  ;; /* 
6950: 53 65 74 20 74 68 65 20 41 63 63 65 70 74 2d 45  Set the Accept-E
6960: 6e 63 6f 64 69 6e 67 20 73 74 72 69 6e 67 2e 20  ncoding string. 
6970: 55 73 65 20 74 68 69 73 20 74 6f 20 74 65 6c 6c  Use this to tell
6980: 20 61 20 73 65 72 76 65 72 20 79 6f 75 20 77 6f   a server you wo
6990: 75 6c 64 20 6c 69 6b 65 0a 20 20 3b 3b 20 20 20  uld like.  ;;   
69a0: 20 74 68 65 20 72 65 73 70 6f 6e 73 65 20 74 6f   the response to
69b0: 20 62 65 20 63 6f 6d 70 72 65 73 73 65 64 2e 20   be compressed. 
69c0: 42 65 66 6f 72 65 20 37 2e 32 31 2e 36 20 74 68  Before 7.21.6 th
69d0: 69 73 20 77 61 73 20 6b 6e 6f 77 6e 20 61 73 0a  is was known as.
69e0: 20 20 3b 3b 20 20 20 20 43 55 52 4c 4f 50 54 5f    ;;    CURLOPT_
69f0: 45 4e 43 4f 44 49 4e 47 20 2a 2f 0a 20 20 28 43  ENCODING */.  (C
6a00: 49 4e 49 54 20 41 43 43 45 50 54 5f 45 4e 43 4f  INIT ACCEPT_ENCO
6a10: 44 49 4e 47 20 53 54 52 49 4e 47 50 4f 49 4e 54  DING STRINGPOINT
6a20: 20 31 30 32 29 0a 0a 09 09 09 09 09 3b 20 53 65   102).......; Se
6a30: 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 72 69  t pointer to pri
6a40: 76 61 74 65 20 64 61 74 61 20 0a 20 20 28 43 49  vate data .  (CI
6a50: 4e 49 54 20 50 52 49 56 41 54 45 20 4f 42 4a 45  NIT PRIVATE OBJE
6a60: 43 54 50 4f 49 4e 54 20 31 30 33 29 0a 0a 09 09  CTPOINT 103)....
6a70: 09 09 09 3b 20 53 65 74 20 61 6c 69 61 73 65 73  ...; Set aliases
6a80: 20 66 6f 72 20 48 54 54 50 20 32 30 30 20 69 6e   for HTTP 200 in
6a90: 20 74 68 65 20 48 54 54 50 20 52 65 73 70 6f 6e   the HTTP Respon
6aa0: 73 65 20 68 65 61 64 65 72 20 0a 20 20 28 43 49  se header .  (CI
6ab0: 4e 49 54 20 48 54 54 50 32 30 30 41 4c 49 41 53  NIT HTTP200ALIAS
6ac0: 45 53 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20 31  ES OBJECTPOINT 1
6ad0: 30 34 29 0a 0a 20 20 3b 3b 20 2f 2a 20 43 6f 6e  04)..  ;; /* Con
6ae0: 74 69 6e 75 65 20 74 6f 20 73 65 6e 64 20 61 75  tinue to send au
6af0: 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 28 75 73  thentication (us
6b00: 65 72 2b 70 61 73 73 77 6f 72 64 29 20 77 68 65  er+password) whe
6b10: 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 6f 63 61  n following loca
6b20: 74 69 6f 6e 73 2c 0a 20 20 3b 3b 20 20 20 20 65  tions,.  ;;    e
6b30: 76 65 6e 20 77 68 65 6e 20 68 6f 73 74 6e 61 6d  ven when hostnam
6b40: 65 20 63 68 61 6e 67 65 64 2e 20 54 68 69 73 20  e changed. This 
6b50: 63 61 6e 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20  can potentially 
6b60: 73 65 6e 64 20 6f 66 66 20 74 68 65 20 6e 61 6d  send off the nam
6b70: 65 0a 20 20 3b 3b 20 20 20 20 61 6e 64 20 70 61  e.  ;;    and pa
6b80: 73 73 77 6f 72 64 20 74 6f 20 77 68 61 74 65 76  ssword to whatev
6b90: 65 72 20 68 6f 73 74 20 74 68 65 20 73 65 72 76  er host the serv
6ba0: 65 72 20 64 65 63 69 64 65 73 2e 20 2a 2f 0a 20  er decides. */. 
6bb0: 20 28 43 49 4e 49 54 20 55 4e 52 45 53 54 52 49   (CINIT UNRESTRI
6bc0: 43 54 45 44 5f 41 55 54 48 20 4c 4f 4e 47 20 31  CTED_AUTH LONG 1
6bd0: 30 35 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 70 65  05)..  ;; /* Spe
6be0: 63 69 66 69 63 61 6c 6c 79 20 73 77 69 74 63 68  cifically switch
6bf0: 20 6f 6e 20 6f 72 20 6f 66 66 20 74 68 65 20 46   on or off the F
6c00: 54 50 20 65 6e 67 69 6e 65 27 73 20 75 73 65 20  TP engine's use 
6c10: 6f 66 20 74 68 65 20 45 50 52 54 20 63 6f 6d 6d  of the EPRT comm
6c20: 61 6e 64 20 28 0a 20 20 3b 3b 20 20 20 20 69 74  and (.  ;;    it
6c30: 20 61 6c 73 6f 20 64 69 73 61 62 6c 65 73 20 74   also disables t
6c40: 68 65 20 4c 50 52 54 20 61 74 74 65 6d 70 74 29  he LPRT attempt)
6c50: 2e 20 42 79 20 64 65 66 61 75 6c 74 20 74 68 6f  . By default tho
6c60: 73 65 20 6f 6e 65 73 20 77 69 6c 6c 20 61 6c 77  se ones will alw
6c70: 61 79 73 20 62 65 0a 20 20 3b 3b 20 20 20 20 61  ays be.  ;;    a
6c80: 74 74 65 6d 70 74 65 64 20 62 65 66 6f 72 65 20  ttempted before 
6c90: 74 68 65 20 67 6f 6f 64 20 6f 6c 64 20 74 72 61  the good old tra
6ca0: 64 69 74 69 6f 6e 61 6c 20 50 4f 52 54 20 63 6f  ditional PORT co
6cb0: 6d 6d 61 6e 64 2e 20 2a 2f 0a 20 20 28 43 49 4e  mmand. */.  (CIN
6cc0: 49 54 20 46 54 50 5f 55 53 45 5f 45 50 52 54 20  IT FTP_USE_EPRT 
6cd0: 4c 4f 4e 47 20 31 30 36 29 0a 0a 20 20 3b 3b 20  LONG 106)..  ;; 
6ce0: 2f 2a 20 53 65 74 20 74 68 69 73 20 74 6f 20 61  /* Set this to a
6cf0: 20 62 69 74 6d 61 73 6b 20 76 61 6c 75 65 20 74   bitmask value t
6d00: 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 70 61 72  o enable the par
6d10: 74 69 63 75 6c 61 72 20 61 75 74 68 65 6e 74 69  ticular authenti
6d20: 63 61 74 69 6f 6e 73 0a 20 20 3b 3b 20 20 20 20  cations.  ;;    
6d30: 6d 65 74 68 6f 64 73 20 79 6f 75 20 6c 69 6b 65  methods you like
6d40: 2e 20 55 73 65 20 74 68 69 73 20 69 6e 20 63 6f  . Use this in co
6d50: 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 43  mbination with C
6d60: 55 52 4c 4f 50 54 5f 55 53 45 52 50 57 44 2e 0a  URLOPT_USERPWD..
6d70: 20 20 3b 3b 20 20 20 20 4e 6f 74 65 20 74 68 61    ;;    Note tha
6d80: 74 20 73 65 74 74 69 6e 67 20 6d 75 6c 74 69 70  t setting multip
6d90: 6c 65 20 62 69 74 73 20 6d 61 79 20 63 61 75 73  le bits may caus
6da0: 65 20 65 78 74 72 61 20 6e 65 74 77 6f 72 6b 20  e extra network 
6db0: 72 6f 75 6e 64 2d 74 72 69 70 73 2e 20 2a 2f 0a  round-trips. */.
6dc0: 20 20 28 43 49 4e 49 54 20 48 54 54 50 41 55 54    (CINIT HTTPAUT
6dd0: 48 20 4c 4f 4e 47 20 31 30 37 29 0a 0a 20 20 3b  H LONG 107)..  ;
6de0: 3b 20 2f 2a 20 53 65 74 20 74 68 65 20 73 73 6c  ; /* Set the ssl
6df0: 20 63 6f 6e 74 65 78 74 20 63 61 6c 6c 62 61 63   context callbac
6e00: 6b 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65  k function curre
6e10: 6e 74 6c 79 20 6f 6e 6c 79 20 66 6f 72 20 4f 70  ntly only for Op
6e20: 65 6e 53 53 4c 20 73 73 6c 5f 63 74 78 0a 20 20  enSSL ssl_ctx.  
6e30: 3b 3b 20 20 20 20 69 6e 20 73 65 63 6f 6e 64 20  ;;    in second 
6e40: 61 72 67 75 6d 65 6e 74 2e 20 54 68 65 20 66 75  argument. The fu
6e50: 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 6d  nction must be m
6e60: 61 74 63 68 69 6e 67 20 74 68 65 0a 20 20 3b 3b  atching the.  ;;
6e70: 20 20 20 20 63 75 72 6c 5f 73 73 6c 5f 63 74 78      curl_ssl_ctx
6e80: 5f 63 61 6c 6c 62 61 63 6b 20 70 72 6f 74 6f 2e  _callback proto.
6e90: 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 53 53 4c   */.  (CINIT SSL
6ea0: 5f 43 54 58 5f 46 55 4e 43 54 49 4f 4e 20 46 55  _CTX_FUNCTION FU
6eb0: 4e 43 54 49 4f 4e 50 4f 49 4e 54 20 31 30 38 29  NCTIONPOINT 108)
6ec0: 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74 68  ..  ;; /* Set th
6ed0: 65 20 75 73 65 72 64 61 74 61 20 66 6f 72 20 74  e userdata for t
6ee0: 68 65 20 73 73 6c 20 63 6f 6e 74 65 78 74 20 63  he ssl context c
6ef0: 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e  allback function
6f00: 27 73 20 74 68 69 72 64 0a 20 20 3b 3b 20 20 20  's third.  ;;   
6f10: 20 61 72 67 75 6d 65 6e 74 20 2a 2f 0a 20 20 28   argument */.  (
6f20: 43 49 4e 49 54 20 53 53 4c 5f 43 54 58 5f 44 41  CINIT SSL_CTX_DA
6f30: 54 41 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20 31  TA OBJECTPOINT 1
6f40: 30 39 29 0a 0a 20 20 3b 3b 20 2f 2a 20 46 54 50  09)..  ;; /* FTP
6f50: 20 4f 70 74 69 6f 6e 20 74 68 61 74 20 63 61 75   Option that cau
6f60: 73 65 73 20 6d 69 73 73 69 6e 67 20 64 69 72 73  ses missing dirs
6f70: 20 74 6f 20 62 65 20 63 72 65 61 74 65 64 20 6f   to be created o
6f80: 6e 20 74 68 65 20 72 65 6d 6f 74 65 20 73 65 72  n the remote ser
6f90: 76 65 72 2e 0a 20 20 3b 3b 20 20 20 20 49 6e 20  ver..  ;;    In 
6fa0: 37 2e 31 39 2e 34 20 77 65 20 69 6e 74 72 6f 64  7.19.4 we introd
6fb0: 75 63 65 64 20 74 68 65 20 63 6f 6e 76 65 6e 69  uced the conveni
6fc0: 65 6e 63 65 20 65 6e 75 6d 73 20 66 6f 72 20 74  ence enums for t
6fd0: 68 69 73 20 6f 70 74 69 6f 6e 20 75 73 69 6e 67  his option using
6fe0: 20 74 68 65 0a 20 20 3b 3b 20 20 20 20 43 55 52   the.  ;;    CUR
6ff0: 4c 46 54 50 5f 43 52 45 41 54 45 5f 44 49 52 20  LFTP_CREATE_DIR 
7000: 70 72 65 66 69 78 2e 0a 20 20 3b 3b 20 2a 2f 0a  prefix..  ;; */.
7010: 20 20 28 43 49 4e 49 54 20 46 54 50 5f 43 52 45    (CINIT FTP_CRE
7020: 41 54 45 5f 4d 49 53 53 49 4e 47 5f 44 49 52 53  ATE_MISSING_DIRS
7030: 20 4c 4f 4e 47 20 31 31 30 29 0a 0a 20 20 3b 3b   LONG 110)..  ;;
7040: 20 2f 2a 20 53 65 74 20 74 68 69 73 20 74 6f 20   /* Set this to 
7050: 61 20 62 69 74 6d 61 73 6b 20 76 61 6c 75 65 20  a bitmask value 
7060: 74 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 70 61  to enable the pa
7070: 72 74 69 63 75 6c 61 72 20 61 75 74 68 65 6e 74  rticular authent
7080: 69 63 61 74 69 6f 6e 73 0a 20 20 3b 3b 20 20 20  ications.  ;;   
7090: 20 6d 65 74 68 6f 64 73 20 79 6f 75 20 6c 69 6b   methods you lik
70a0: 65 2e 20 55 73 65 20 74 68 69 73 20 69 6e 20 63  e. Use this in c
70b0: 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20  ombination with 
70c0: 43 55 52 4c 4f 50 54 5f 50 52 4f 58 59 55 53 45  CURLOPT_PROXYUSE
70d0: 52 50 57 44 2e 0a 20 20 3b 3b 20 20 20 20 4e 6f  RPWD..  ;;    No
70e0: 74 65 20 74 68 61 74 20 73 65 74 74 69 6e 67 20  te that setting 
70f0: 6d 75 6c 74 69 70 6c 65 20 62 69 74 73 20 6d 61  multiple bits ma
7100: 79 20 63 61 75 73 65 20 65 78 74 72 61 20 6e 65  y cause extra ne
7110: 74 77 6f 72 6b 20 72 6f 75 6e 64 2d 74 72 69 70  twork round-trip
7120: 73 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 50  s. */.  (CINIT P
7130: 52 4f 58 59 41 55 54 48 20 4c 4f 4e 47 20 31 31  ROXYAUTH LONG 11
7140: 31 29 0a 0a 20 20 3b 3b 20 2f 2a 20 46 54 50 20  1)..  ;; /* FTP 
7150: 6f 70 74 69 6f 6e 20 74 68 61 74 20 63 68 61 6e  option that chan
7160: 67 65 73 20 74 68 65 20 74 69 6d 65 6f 75 74 20  ges the timeout 
7170: 69 6e 20 73 65 63 6f 6e 64 73 20 61 73 73 6f 63  in seconds assoc
7180: 69 61 74 65 64 20 77 69 74 68 0a 20 20 3b 3b 20  iated with.  ;; 
7190: 20 20 20 67 65 74 74 69 6e 67 20 61 20 72 65 73     getting a res
71a0: 70 6f 6e 73 65 2e 20 20 54 68 69 73 20 69 73 20  ponse.  This is 
71b0: 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74  different from t
71c0: 72 61 6e 73 66 65 72 20 74 69 6d 65 6f 75 74 20  ransfer timeout 
71d0: 74 69 6d 65 20 61 6e 64 0a 20 20 3b 3b 20 20 20  time and.  ;;   
71e0: 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 70 6c 61   essentially pla
71f0: 63 65 73 20 61 20 64 65 6d 61 6e 64 20 6f 6e 20  ces a demand on 
7200: 74 68 65 20 46 54 50 20 73 65 72 76 65 72 20 74  the FTP server t
7210: 6f 20 61 63 6b 6e 6f 77 6c 65 64 67 65 20 63 6f  o acknowledge co
7220: 6d 6d 61 6e 64 73 0a 20 20 3b 3b 20 20 20 20 69  mmands.  ;;    i
7230: 6e 20 61 20 74 69 6d 65 6c 79 20 6d 61 6e 6e 65  n a timely manne
7240: 72 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 46  r. */.  (CINIT F
7250: 54 50 5f 52 45 53 50 4f 4e 53 45 5f 54 49 4d 45  TP_RESPONSE_TIME
7260: 4f 55 54 20 4c 4f 4e 47 20 31 31 32 29 0a 20 20  OUT LONG 112).  
7270: 28 64 65 66 69 6e 65 20 43 55 52 4c 4f 50 54 5f  (define CURLOPT_
7280: 53 45 52 56 45 52 5f 52 45 53 50 4f 4e 53 45 5f  SERVER_RESPONSE_
7290: 54 49 4d 45 4f 55 54 20 43 55 52 4c 4f 50 54 5f  TIMEOUT CURLOPT_
72a0: 46 54 50 5f 52 45 53 50 4f 4e 53 45 5f 54 49 4d  FTP_RESPONSE_TIM
72b0: 45 4f 55 54 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53  EOUT)..  ;; /* S
72c0: 65 74 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 74  et this option t
72d0: 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 43 55 52  o one of the CUR
72e0: 4c 5f 49 50 52 45 53 4f 4c 56 45 5f 2a 20 64 65  L_IPRESOLVE_* de
72f0: 66 69 6e 65 73 20 28 73 65 65 20 62 65 6c 6f 77  fines (see below
7300: 29 20 74 6f 0a 20 20 3b 3b 20 20 20 20 74 65 6c  ) to.  ;;    tel
7310: 6c 20 6c 69 62 63 75 72 6c 20 74 6f 20 72 65 73  l libcurl to res
7320: 6f 6c 76 65 20 6e 61 6d 65 73 20 74 6f 20 74 68  olve names to th
7330: 6f 73 65 20 49 50 20 76 65 72 73 69 6f 6e 73 20  ose IP versions 
7340: 6f 6e 6c 79 2e 20 54 68 69 73 20 6f 6e 6c 79 20  only. This only 
7350: 68 61 73 0a 20 20 3b 3b 20 20 20 20 61 66 66 65  has.  ;;    affe
7360: 63 74 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 69  ct on systems wi
7370: 74 68 20 73 75 70 70 6f 72 74 20 66 6f 72 20 6d  th support for m
7380: 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 69 2e 65  ore than one i.e
7390: 20 49 50 76 34 20 5f 61 6e 64 5f 20 49 50 76 36   IPv4 _and_ IPv6
73a0: 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 49 50  . */.  (CINIT IP
73b0: 52 45 53 4f 4c 56 45 20 4c 4f 4e 47 20 31 31 33  RESOLVE LONG 113
73c0: 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74  )..  ;; /* Set t
73d0: 68 69 73 20 6f 70 74 69 6f 6e 20 74 6f 20 6c 69  his option to li
73e0: 6d 69 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20  mit the size of 
73f0: 61 20 66 69 6c 65 20 74 68 61 74 20 77 69 6c 6c  a file that will
7400: 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 66   be downloaded f
7410: 72 6f 6d 0a 20 20 3b 3b 20 20 20 20 61 6e 20 48  rom.  ;;    an H
7420: 54 54 50 20 6f 72 20 46 54 50 20 73 65 72 76 65  TTP or FTP serve
7430: 72 2e 0a 0a 20 20 3b 3b 20 20 20 20 4e 6f 74 65  r...  ;;    Note
7440: 20 74 68 65 72 65 20 69 73 20 61 6c 73 6f 20 5f   there is also _
7450: 4c 41 52 47 45 20 76 65 72 73 69 6f 6e 20 77 68  LARGE version wh
7460: 69 63 68 20 61 64 64 73 20 6c 61 72 67 65 20 66  ich adds large f
7470: 69 6c 65 20 73 75 70 70 6f 72 74 20 66 6f 72 0a  ile support for.
7480: 20 20 3b 3b 20 20 20 20 70 6c 61 74 66 6f 72 6d    ;;    platform
7490: 73 20 77 68 69 63 68 20 68 61 76 65 20 6c 61 72  s which have lar
74a0: 67 65 72 20 6f 66 66 5f 74 20 73 69 7a 65 73 2e  ger off_t sizes.
74b0: 20 20 53 65 65 20 4d 41 58 46 49 4c 45 53 49 5a    See MAXFILESIZ
74c0: 45 5f 4c 41 52 47 45 20 62 65 6c 6f 77 2e 20 2a  E_LARGE below. *
74d0: 2f 0a 20 20 28 43 49 4e 49 54 20 4d 41 58 46 49  /.  (CINIT MAXFI
74e0: 4c 45 53 49 5a 45 20 4c 4f 4e 47 20 31 31 34 29  LESIZE LONG 114)
74f0: 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 65 20 74 68  ..  ;; /* See th
7500: 65 20 63 6f 6d 6d 65 6e 74 20 66 6f 72 20 49 4e  e comment for IN
7510: 46 49 4c 45 53 49 5a 45 20 61 62 6f 76 65 20 62  FILESIZE above b
7520: 75 74 20 69 6e 20 73 68 6f 72 74 20 73 70 65 63  ut in short spec
7530: 69 66 69 65 73 0a 20 20 3b 3b 20 20 2a 20 74 68  ifies.  ;;  * th
7540: 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 66 69  e size of the fi
7550: 6c 65 20 62 65 69 6e 67 20 75 70 6c 6f 61 64 65  le being uploade
7560: 64 2e 20 20 2d 31 20 6d 65 61 6e 73 20 75 6e 6b  d.  -1 means unk
7570: 6e 6f 77 6e 2e 0a 20 20 3b 3b 20 20 2a 2f 0a 20  nown..  ;;  */. 
7580: 20 28 43 49 4e 49 54 20 49 4e 46 49 4c 45 53 49   (CINIT INFILESI
7590: 5a 45 5f 4c 41 52 47 45 20 4f 46 46 5f 54 20 31  ZE_LARGE OFF_T 1
75a0: 31 35 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74  15)..  ;; /* Set
75b0: 73 20 74 68 65 20 63 6f 6e 74 69 6e 75 61 74 69  s the continuati
75c0: 6f 6e 20 6f 66 66 73 65 74 2e 20 20 54 68 65 72  on offset.  Ther
75d0: 65 20 69 73 20 61 6c 73 6f 20 61 20 4c 4f 4e 47  e is also a LONG
75e0: 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73   version of this
75f0: 3b 0a 20 20 3b 3b 20 20 2a 20 6c 6f 6f 6b 20 61  ;.  ;;  * look a
7600: 62 6f 76 65 20 66 6f 72 20 52 45 53 55 4d 45 5f  bove for RESUME_
7610: 46 52 4f 4d 2e 0a 20 20 3b 3b 20 20 2a 2f 0a 20  FROM..  ;;  */. 
7620: 20 28 43 49 4e 49 54 20 52 45 53 55 4d 45 5f 46   (CINIT RESUME_F
7630: 52 4f 4d 5f 4c 41 52 47 45 20 4f 46 46 5f 54 20  ROM_LARGE OFF_T 
7640: 31 31 36 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65  116)..  ;; /* Se
7650: 74 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 73  ts the maximum s
7660: 69 7a 65 20 6f 66 20 64 61 74 61 20 74 68 61 74  ize of data that
7670: 20 77 69 6c 6c 20 62 65 20 64 6f 77 6e 6c 6f 61   will be downloa
7680: 64 65 64 20 66 72 6f 6d 0a 20 20 3b 3b 20 20 2a  ded from.  ;;  *
7690: 20 61 6e 20 48 54 54 50 20 6f 72 20 46 54 50 20   an HTTP or FTP 
76a0: 73 65 72 76 65 72 2e 20 20 53 65 65 20 4d 41 58  server.  See MAX
76b0: 46 49 4c 45 53 49 5a 45 20 61 62 6f 76 65 20 66  FILESIZE above f
76c0: 6f 72 20 74 68 65 20 4c 4f 4e 47 20 76 65 72 73  or the LONG vers
76d0: 69 6f 6e 2e 0a 20 20 3b 3b 20 20 2a 2f 0a 20 20  ion..  ;;  */.  
76e0: 28 43 49 4e 49 54 20 4d 41 58 46 49 4c 45 53 49  (CINIT MAXFILESI
76f0: 5a 45 5f 4c 41 52 47 45 20 4f 46 46 5f 54 20 31  ZE_LARGE OFF_T 1
7700: 31 37 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74  17)..  ;; /* Set
7710: 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 74 6f 20   this option to 
7720: 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66  the file name of
7730: 20 79 6f 75 72 20 2e 6e 65 74 72 63 20 66 69 6c   your .netrc fil
7740: 65 20 79 6f 75 20 77 61 6e 74 20 6c 69 62 63 75  e you want libcu
7750: 72 6c 0a 20 20 3b 3b 20 20 20 20 74 6f 20 70 61  rl.  ;;    to pa
7760: 72 73 65 20 28 75 73 69 6e 67 20 74 68 65 20 43  rse (using the C
7770: 55 52 4c 4f 50 54 5f 4e 45 54 52 43 20 6f 70 74  URLOPT_NETRC opt
7780: 69 6f 6e 29 2e 20 49 66 20 6e 6f 74 20 73 65 74  ion). If not set
7790: 20 6c 69 62 63 75 72 6c 20 77 69 6c 6c 20 64 6f   libcurl will do
77a0: 0a 20 20 3b 3b 20 20 20 20 61 20 70 6f 6f 72 20  .  ;;    a poor 
77b0: 61 74 74 65 6d 70 74 20 74 6f 20 66 69 6e 64 20  attempt to find 
77c0: 74 68 65 20 75 73 65 72 27 73 20 68 6f 6d 65 20  the user's home 
77d0: 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 63 68  directory and ch
77e0: 65 63 6b 20 66 6f 72 20 61 20 2e 6e 65 74 72 63  eck for a .netrc
77f0: 0a 20 20 3b 3b 20 20 20 20 66 69 6c 65 20 69 6e  .  ;;    file in
7800: 20 74 68 65 72 65 2e 20 2a 2f 0a 20 20 28 43 49   there. */.  (CI
7810: 4e 49 54 20 4e 45 54 52 43 5f 46 49 4c 45 20 53  NIT NETRC_FILE S
7820: 54 52 49 4e 47 50 4f 49 4e 54 20 31 31 38 29 0a  TRINGPOINT 118).
7830: 0a 20 20 3b 3b 20 2f 2a 20 45 6e 61 62 6c 65 20  .  ;; /* Enable 
7840: 53 53 4c 2f 54 4c 53 20 66 6f 72 20 46 54 50 20  SSL/TLS for FTP 
7850: 70 69 63 6b 20 6f 6e 65 20 6f 66 3a 0a 20 20 3b  pick one of:.  ;
7860: 3b 20 20 20 20 43 55 52 4c 55 53 45 53 53 4c 5f  ;    CURLUSESSL_
7870: 54 52 59 20 20 20 20 20 2d 20 74 72 79 20 75 73  TRY     - try us
7880: 69 6e 67 20 53 53 4c 20 70 72 6f 63 65 65 64 20  ing SSL proceed 
7890: 61 6e 79 77 61 79 20 6f 74 68 65 72 77 69 73 65  anyway otherwise
78a0: 0a 20 20 3b 3b 20 20 20 20 43 55 52 4c 55 53 45  .  ;;    CURLUSE
78b0: 53 53 4c 5f 43 4f 4e 54 52 4f 4c 20 2d 20 53 53  SSL_CONTROL - SS
78c0: 4c 20 66 6f 72 20 74 68 65 20 63 6f 6e 74 72 6f  L for the contro
78d0: 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 72 20  l connection or 
78e0: 66 61 69 6c 0a 20 20 3b 3b 20 20 20 20 43 55 52  fail.  ;;    CUR
78f0: 4c 55 53 45 53 53 4c 5f 41 4c 4c 20 20 20 20 20  LUSESSL_ALL     
7900: 2d 20 53 53 4c 20 66 6f 72 20 61 6c 6c 20 63 6f  - SSL for all co
7910: 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 6f 72 20 66  mmunication or f
7920: 61 69 6c 0a 20 20 3b 3b 20 2a 2f 0a 20 20 28 43  ail.  ;; */.  (C
7930: 49 4e 49 54 20 55 53 45 5f 53 53 4c 20 4c 4f 4e  INIT USE_SSL LON
7940: 47 20 31 31 39 29 0a 0a 09 09 09 09 09 3b 20 54  G 119).......; T
7950: 68 65 20 5f 4c 41 52 47 45 20 76 65 72 73 69 6f  he _LARGE versio
7960: 6e 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72  n of the standar
7970: 64 20 50 4f 53 54 46 49 45 4c 44 53 49 5a 45 20  d POSTFIELDSIZE 
7980: 6f 70 74 69 6f 6e 20 0a 20 20 28 43 49 4e 49 54  option .  (CINIT
7990: 20 50 4f 53 54 46 49 45 4c 44 53 49 5a 45 5f 4c   POSTFIELDSIZE_L
79a0: 41 52 47 45 20 4f 46 46 5f 54 20 31 32 30 29 0a  ARGE OFF_T 120).
79b0: 0a 09 09 09 09 09 3b 20 45 6e 61 62 6c 65 2f 64  ......; Enable/d
79c0: 69 73 61 62 6c 65 20 74 68 65 20 54 43 50 20 4e  isable the TCP N
79d0: 61 67 6c 65 20 61 6c 67 6f 72 69 74 68 6d 20 0a  agle algorithm .
79e0: 20 20 28 43 49 4e 49 54 20 54 43 50 5f 4e 4f 44    (CINIT TCP_NOD
79f0: 45 4c 41 59 20 4c 4f 4e 47 20 31 32 31 29 0a 0a  ELAY LONG 121)..
7a00: 09 09 09 09 09 3b 20 31 32 32 20 4f 42 53 4f 4c  .....; 122 OBSOL
7a10: 45 54 45 20 75 73 65 64 20 69 6e 20 37 2e 31 32  ETE used in 7.12
7a20: 2e 33 2e 20 47 6f 6e 65 20 69 6e 20 37 2e 31 33  .3. Gone in 7.13
7a30: 2e 30 20 0a 09 09 09 09 09 3b 20 31 32 33 20 4f  .0 ......; 123 O
7a40: 42 53 4f 4c 45 54 45 2e 20 47 6f 6e 65 20 69 6e  BSOLETE. Gone in
7a50: 20 37 2e 31 36 2e 30 20 0a 09 09 09 09 09 3b 20   7.16.0 ......; 
7a60: 31 32 34 20 4f 42 53 4f 4c 45 54 45 20 75 73 65  124 OBSOLETE use
7a70: 64 20 69 6e 20 37 2e 31 32 2e 33 2e 20 47 6f 6e  d in 7.12.3. Gon
7a80: 65 20 69 6e 20 37 2e 31 33 2e 30 20 0a 09 09 09  e in 7.13.0 ....
7a90: 09 09 3b 20 31 32 35 20 4f 42 53 4f 4c 45 54 45  ..; 125 OBSOLETE
7aa0: 20 75 73 65 64 20 69 6e 20 37 2e 31 32 2e 33 2e   used in 7.12.3.
7ab0: 20 47 6f 6e 65 20 69 6e 20 37 2e 31 33 2e 30 20   Gone in 7.13.0 
7ac0: 0a 09 09 09 09 09 3b 20 31 32 36 20 4f 42 53 4f  ......; 126 OBSO
7ad0: 4c 45 54 45 20 75 73 65 64 20 69 6e 20 37 2e 31  LETE used in 7.1
7ae0: 32 2e 33 2e 20 47 6f 6e 65 20 69 6e 20 37 2e 31  2.3. Gone in 7.1
7af0: 33 2e 30 20 0a 09 09 09 09 09 3b 20 31 32 37 20  3.0 ......; 127 
7b00: 4f 42 53 4f 4c 45 54 45 2e 20 47 6f 6e 65 20 69  OBSOLETE. Gone i
7b10: 6e 20 37 2e 31 36 2e 30 20 0a 09 09 09 09 09 3b  n 7.16.0 ......;
7b20: 20 31 32 38 20 4f 42 53 4f 4c 45 54 45 2e 20 47   128 OBSOLETE. G
7b30: 6f 6e 65 20 69 6e 20 37 2e 31 36 2e 30 20 0a 0a  one in 7.16.0 ..
7b40: 20 20 3b 3b 20 2f 2a 20 57 68 65 6e 20 46 54 50    ;; /* When FTP
7b50: 20 6f 76 65 72 20 53 53 4c 2f 54 4c 53 20 69 73   over SSL/TLS is
7b60: 20 73 65 6c 65 63 74 65 64 20 28 77 69 74 68 20   selected (with 
7b70: 43 55 52 4c 4f 50 54 5f 55 53 45 5f 53 53 4c 29  CURLOPT_USE_SSL)
7b80: 20 74 68 69 73 20 6f 70 74 69 6f 6e 0a 20 20 3b   this option.  ;
7b90: 3b 20 20 20 20 63 61 6e 20 62 65 20 75 73 65 64  ;    can be used
7ba0: 20 74 6f 20 63 68 61 6e 67 65 20 6c 69 62 63 75   to change libcu
7bb0: 72 6c 27 73 20 64 65 66 61 75 6c 74 20 61 63 74  rl's default act
7bc0: 69 6f 6e 20 77 68 69 63 68 20 69 73 20 74 6f 20  ion which is to 
7bd0: 66 69 72 73 74 20 74 72 79 0a 20 20 3b 3b 20 20  first try.  ;;  
7be0: 20 20 22 41 55 54 48 20 53 53 4c 22 20 61 6e 64    "AUTH SSL" and
7bf0: 20 74 68 65 6e 20 22 41 55 54 48 20 54 4c 53 22   then "AUTH TLS"
7c00: 20 69 6e 20 74 68 69 73 20 6f 72 64 65 72 20 61   in this order a
7c10: 6e 64 20 70 72 6f 63 65 65 64 20 77 68 65 6e 20  nd proceed when 
7c20: 61 20 4f 4b 0a 20 20 3b 3b 20 20 20 20 72 65 73  a OK.  ;;    res
7c30: 70 6f 6e 73 65 20 68 61 73 20 62 65 65 6e 20 72  ponse has been r
7c40: 65 63 65 69 76 65 64 2e 0a 0a 20 20 3b 3b 20 20  eceived...  ;;  
7c50: 20 20 41 76 61 69 6c 61 62 6c 65 20 70 61 72 61    Available para
7c60: 6d 65 74 65 72 73 20 61 72 65 3a 0a 20 20 3b 3b  meters are:.  ;;
7c70: 20 20 20 20 43 55 52 4c 46 54 50 41 55 54 48 5f      CURLFTPAUTH_
7c80: 44 45 46 41 55 4c 54 20 2d 20 6c 65 74 20 6c 69  DEFAULT - let li
7c90: 62 63 75 72 6c 20 64 65 63 69 64 65 0a 20 20 3b  bcurl decide.  ;
7ca0: 3b 20 20 20 20 43 55 52 4c 46 54 50 41 55 54 48  ;    CURLFTPAUTH
7cb0: 5f 53 53 4c 20 20 20 20 20 2d 20 74 72 79 20 22  _SSL     - try "
7cc0: 41 55 54 48 20 53 53 4c 22 20 66 69 72 73 74 20  AUTH SSL" first 
7cd0: 74 68 65 6e 20 54 4c 53 0a 20 20 3b 3b 20 20 20  then TLS.  ;;   
7ce0: 20 43 55 52 4c 46 54 50 41 55 54 48 5f 54 4c 53   CURLFTPAUTH_TLS
7cf0: 20 20 20 20 20 2d 20 74 72 79 20 22 41 55 54 48       - try "AUTH
7d00: 20 54 4c 53 22 20 66 69 72 73 74 20 74 68 65 6e   TLS" first then
7d10: 20 53 53 4c 0a 20 20 3b 3b 20 2a 2f 0a 20 20 28   SSL.  ;; */.  (
7d20: 43 49 4e 49 54 20 46 54 50 53 53 4c 41 55 54 48  CINIT FTPSSLAUTH
7d30: 20 4c 4f 4e 47 20 31 32 39 29 0a 0a 20 20 28 43   LONG 129)..  (C
7d40: 49 4e 49 54 20 49 4f 43 54 4c 46 55 4e 43 54 49  INIT IOCTLFUNCTI
7d50: 4f 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e 54  ON FUNCTIONPOINT
7d60: 20 31 33 30 29 0a 20 20 28 43 49 4e 49 54 20 49   130).  (CINIT I
7d70: 4f 43 54 4c 44 41 54 41 20 4f 42 4a 45 43 54 50  OCTLDATA OBJECTP
7d80: 4f 49 4e 54 20 31 33 31 29 0a 0a 09 09 09 09 09  OINT 131).......
7d90: 3b 20 31 33 32 20 4f 42 53 4f 4c 45 54 45 2e 20  ; 132 OBSOLETE. 
7da0: 47 6f 6e 65 20 69 6e 20 37 2e 31 36 2e 30 20 0a  Gone in 7.16.0 .
7db0: 09 09 09 09 09 3b 20 31 33 33 20 4f 42 53 4f 4c  .....; 133 OBSOL
7dc0: 45 54 45 2e 20 47 6f 6e 65 20 69 6e 20 37 2e 31  ETE. Gone in 7.1
7dd0: 36 2e 30 20 0a 0a 20 20 3b 3b 20 2f 2a 20 7a 65  6.0 ..  ;; /* ze
7de0: 72 6f 20 74 65 72 6d 69 6e 61 74 65 64 20 73 74  ro terminated st
7df0: 72 69 6e 67 20 66 6f 72 20 70 61 73 73 20 6f 6e  ring for pass on
7e00: 20 74 6f 20 74 68 65 20 46 54 50 20 73 65 72 76   to the FTP serv
7e10: 65 72 20 77 68 65 6e 20 61 73 6b 65 64 20 66 6f  er when asked fo
7e20: 72 0a 20 20 3b 3b 20 20 20 20 22 61 63 63 6f 75  r.  ;;    "accou
7e30: 6e 74 22 20 69 6e 66 6f 20 2a 2f 0a 20 20 28 43  nt" info */.  (C
7e40: 49 4e 49 54 20 46 54 50 5f 41 43 43 4f 55 4e 54  INIT FTP_ACCOUNT
7e50: 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 31 33 34   STRINGPOINT 134
7e60: 29 0a 0a 09 09 09 09 09 3b 20 66 65 65 64 20 63  ).......; feed c
7e70: 6f 6f 6b 69 65 20 69 6e 74 6f 20 63 6f 6f 6b 69  ookie into cooki
7e80: 65 20 65 6e 67 69 6e 65 20 0a 20 20 28 43 49 4e  e engine .  (CIN
7e90: 49 54 20 43 4f 4f 4b 49 45 4c 49 53 54 20 53 54  IT COOKIELIST ST
7ea0: 52 49 4e 47 50 4f 49 4e 54 20 31 33 35 29 0a 0a  RINGPOINT 135)..
7eb0: 09 09 09 09 09 3b 20 69 67 6e 6f 72 65 20 43 6f  .....; ignore Co
7ec0: 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 20 0a 20 20  ntent-Length .  
7ed0: 28 43 49 4e 49 54 20 49 47 4e 4f 52 45 5f 43 4f  (CINIT IGNORE_CO
7ee0: 4e 54 45 4e 54 5f 4c 45 4e 47 54 48 20 4c 4f 4e  NTENT_LENGTH LON
7ef0: 47 20 31 33 36 29 0a 0a 20 20 3b 3b 20 2f 2a 20  G 136)..  ;; /* 
7f00: 53 65 74 20 74 6f 20 6e 6f 6e 2d 7a 65 72 6f 20  Set to non-zero 
7f10: 74 6f 20 73 6b 69 70 20 74 68 65 20 49 50 20 61  to skip the IP a
7f20: 64 64 72 65 73 73 20 72 65 63 65 69 76 65 64 20  ddress received 
7f30: 69 6e 20 61 20 32 32 37 20 50 41 53 56 20 46 54  in a 227 PASV FT
7f40: 50 20 73 65 72 76 65 72 0a 20 20 3b 3b 20 20 20  P server.  ;;   
7f50: 20 72 65 73 70 6f 6e 73 65 2e 20 54 79 70 69 63   response. Typic
7f60: 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 46 54  ally used for FT
7f70: 50 2d 53 53 4c 20 70 75 72 70 6f 73 65 73 20 62  P-SSL purposes b
7f80: 75 74 20 69 73 20 6e 6f 74 20 72 65 73 74 72 69  ut is not restri
7f90: 63 74 65 64 20 74 6f 0a 20 20 3b 3b 20 20 20 20  cted to.  ;;    
7fa0: 74 68 61 74 2e 20 6c 69 62 63 75 72 6c 20 77 69  that. libcurl wi
7fb0: 6c 6c 20 74 68 65 6e 20 69 6e 73 74 65 61 64 20  ll then instead 
7fc0: 75 73 65 20 74 68 65 20 73 61 6d 65 20 49 50 20  use the same IP 
7fd0: 61 64 64 72 65 73 73 20 69 74 20 75 73 65 64 20  address it used 
7fe0: 66 6f 72 20 74 68 65 0a 20 20 3b 3b 20 20 20 20  for the.  ;;    
7ff0: 63 6f 6e 74 72 6f 6c 20 63 6f 6e 6e 65 63 74 69  control connecti
8000: 6f 6e 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20  on. */.  (CINIT 
8010: 46 54 50 5f 53 4b 49 50 5f 50 41 53 56 5f 49 50  FTP_SKIP_PASV_IP
8020: 20 4c 4f 4e 47 20 31 33 37 29 0a 0a 20 20 3b 3b   LONG 137)..  ;;
8030: 20 2f 2a 20 53 65 6c 65 63 74 20 22 66 69 6c 65   /* Select "file
8040: 20 6d 65 74 68 6f 64 22 20 74 6f 20 75 73 65 20   method" to use 
8050: 77 68 65 6e 20 64 6f 69 6e 67 20 46 54 50 20 73  when doing FTP s
8060: 65 65 20 74 68 65 20 63 75 72 6c 5f 66 74 70 6d  ee the curl_ftpm
8070: 65 74 68 6f 64 0a 20 20 3b 3b 20 20 20 20 61 62  ethod.  ;;    ab
8080: 6f 76 65 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54  ove. */.  (CINIT
8090: 20 46 54 50 5f 46 49 4c 45 4d 45 54 48 4f 44 20   FTP_FILEMETHOD 
80a0: 4c 4f 4e 47 20 31 33 38 29 0a 0a 09 09 09 09 09  LONG 138).......
80b0: 3b 20 4c 6f 63 61 6c 20 70 6f 72 74 20 6e 75 6d  ; Local port num
80c0: 62 65 72 20 74 6f 20 62 69 6e 64 20 74 68 65 20  ber to bind the 
80d0: 73 6f 63 6b 65 74 20 74 6f 20 0a 20 20 28 43 49  socket to .  (CI
80e0: 4e 49 54 20 4c 4f 43 41 4c 50 4f 52 54 20 4c 4f  NIT LOCALPORT LO
80f0: 4e 47 20 31 33 39 29 0a 0a 20 20 3b 3b 20 2f 2a  NG 139)..  ;; /*
8100: 20 4e 75 6d 62 65 72 20 6f 66 20 70 6f 72 74 73   Number of ports
8110: 20 74 6f 20 74 72 79 20 69 6e 63 6c 75 64 69 6e   to try includin
8120: 67 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 20  g the first one 
8130: 73 65 74 20 77 69 74 68 20 4c 4f 43 41 4c 50 4f  set with LOCALPO
8140: 52 54 2e 0a 20 20 3b 3b 20 20 20 20 54 68 75 73  RT..  ;;    Thus
8150: 20 73 65 74 74 69 6e 67 20 69 74 20 74 6f 20 31   setting it to 1
8160: 20 77 69 6c 6c 20 6d 61 6b 65 20 6e 6f 20 61 64   will make no ad
8170: 64 69 74 69 6f 6e 61 6c 20 61 74 74 65 6d 70 74  ditional attempt
8180: 73 20 62 75 74 20 74 68 65 20 66 69 72 73 74 2e  s but the first.
8190: 0a 20 20 3b 3b 20 2a 2f 0a 20 20 28 43 49 4e 49  .  ;; */.  (CINI
81a0: 54 20 4c 4f 43 41 4c 50 4f 52 54 52 41 4e 47 45  T LOCALPORTRANGE
81b0: 20 4c 4f 4e 47 20 31 34 30 29 0a 0a 20 20 3b 3b   LONG 140)..  ;;
81c0: 20 2f 2a 20 6e 6f 20 74 72 61 6e 73 66 65 72 20   /* no transfer 
81d0: 73 65 74 20 75 70 20 63 6f 6e 6e 65 63 74 69 6f  set up connectio
81e0: 6e 20 61 6e 64 20 6c 65 74 20 61 70 70 6c 69 63  n and let applic
81f0: 61 74 69 6f 6e 20 75 73 65 20 74 68 65 20 73 6f  ation use the so
8200: 63 6b 65 74 20 62 79 0a 20 20 3b 3b 20 20 20 20  cket by.  ;;    
8210: 65 78 74 72 61 63 74 69 6e 67 20 69 74 20 77 69  extracting it wi
8220: 74 68 20 43 55 52 4c 49 4e 46 4f 5f 4c 41 53 54  th CURLINFO_LAST
8230: 53 4f 43 4b 45 54 20 2a 2f 0a 20 20 28 43 49 4e  SOCKET */.  (CIN
8240: 49 54 20 43 4f 4e 4e 45 43 54 5f 4f 4e 4c 59 20  IT CONNECT_ONLY 
8250: 4c 4f 4e 47 20 31 34 31 29 0a 0a 20 20 3b 3b 20  LONG 141)..  ;; 
8260: 2f 2a 20 46 75 6e 63 74 69 6f 6e 20 74 68 61 74  /* Function that
8270: 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20   will be called 
8280: 74 6f 20 63 6f 6e 76 65 72 74 20 66 72 6f 6d 20  to convert from 
8290: 74 68 65 0a 20 20 3b 3b 20 20 20 20 6e 65 74 77  the.  ;;    netw
82a0: 6f 72 6b 20 65 6e 63 6f 64 69 6e 67 20 28 69 6e  ork encoding (in
82b0: 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67 20 74  stead of using t
82c0: 68 65 20 69 63 6f 6e 76 20 63 61 6c 6c 73 20 69  he iconv calls i
82d0: 6e 20 6c 69 62 63 75 72 6c 29 20 2a 2f 0a 20 20  n libcurl) */.  
82e0: 28 43 49 4e 49 54 20 43 4f 4e 56 5f 46 52 4f 4d  (CINIT CONV_FROM
82f0: 5f 4e 45 54 57 4f 52 4b 5f 46 55 4e 43 54 49 4f  _NETWORK_FUNCTIO
8300: 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e 54 20  N FUNCTIONPOINT 
8310: 31 34 32 29 0a 0a 20 20 3b 3b 20 2f 2a 20 46 75  142)..  ;; /* Fu
8320: 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c  nction that will
8330: 20 62 65 20 63 61 6c 6c 65 64 20 74 6f 20 63 6f   be called to co
8340: 6e 76 65 72 74 20 74 6f 20 74 68 65 0a 20 20 3b  nvert to the.  ;
8350: 3b 20 20 20 20 6e 65 74 77 6f 72 6b 20 65 6e 63  ;    network enc
8360: 6f 64 69 6e 67 20 28 69 6e 73 74 65 61 64 20 6f  oding (instead o
8370: 66 20 75 73 69 6e 67 20 74 68 65 20 69 63 6f 6e  f using the icon
8380: 76 20 63 61 6c 6c 73 20 69 6e 20 6c 69 62 63 75  v calls in libcu
8390: 72 6c 29 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20  rl) */.  (CINIT 
83a0: 43 4f 4e 56 5f 54 4f 5f 4e 45 54 57 4f 52 4b 5f  CONV_TO_NETWORK_
83b0: 46 55 4e 43 54 49 4f 4e 20 46 55 4e 43 54 49 4f  FUNCTION FUNCTIO
83c0: 4e 50 4f 49 4e 54 20 31 34 33 29 0a 0a 20 20 3b  NPOINT 143)..  ;
83d0: 3b 20 2f 2a 20 46 75 6e 63 74 69 6f 6e 20 74 68  ; /* Function th
83e0: 61 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65  at will be calle
83f0: 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 66 72 6f  d to convert fro
8400: 6d 20 55 54 46 38 0a 20 20 3b 3b 20 20 20 20 28  m UTF8.  ;;    (
8410: 69 6e 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67  instead of using
8420: 20 74 68 65 20 69 63 6f 6e 76 20 63 61 6c 6c 73   the iconv calls
8430: 20 69 6e 20 6c 69 62 63 75 72 6c 29 0a 20 20 3b   in libcurl).  ;
8440: 3b 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74  ;    Note that t
8450: 68 69 73 20 69 73 20 75 73 65 64 20 6f 6e 6c 79  his is used only
8460: 20 66 6f 72 20 53 53 4c 20 63 65 72 74 69 66 69   for SSL certifi
8470: 63 61 74 65 20 70 72 6f 63 65 73 73 69 6e 67 20  cate processing 
8480: 2a 2f 0a 20 20 28 43 49 4e 49 54 20 43 4f 4e 56  */.  (CINIT CONV
8490: 5f 46 52 4f 4d 5f 55 54 46 38 5f 46 55 4e 43 54  _FROM_UTF8_FUNCT
84a0: 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e  ION FUNCTIONPOIN
84b0: 54 20 31 34 34 29 0a 0a 09 09 09 09 09 3b 20 69  T 144).......; i
84c0: 66 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  f the connection
84d0: 20 70 72 6f 63 65 65 64 73 20 74 6f 6f 20 71 75   proceeds too qu
84e0: 69 63 6b 6c 79 20 74 68 65 6e 20 6e 65 65 64 20  ickly then need 
84f0: 74 6f 20 73 6c 6f 77 20 69 74 20 64 6f 77 6e 20  to slow it down 
8500: 0a 09 09 09 09 09 3b 20 6c 69 6d 69 74 2d 72 61  ......; limit-ra
8510: 74 65 3a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62  te: maximum numb
8520: 65 72 20 6f 66 20 62 79 74 65 73 20 70 65 72 20  er of bytes per 
8530: 73 65 63 6f 6e 64 20 74 6f 20 73 65 6e 64 20 6f  second to send o
8540: 72 20 72 65 63 65 69 76 65 20 0a 20 20 28 43 49  r receive .  (CI
8550: 4e 49 54 20 4d 41 58 5f 53 45 4e 44 5f 53 50 45  NIT MAX_SEND_SPE
8560: 45 44 5f 4c 41 52 47 45 20 4f 46 46 5f 54 20 31  ED_LARGE OFF_T 1
8570: 34 35 29 0a 20 20 28 43 49 4e 49 54 20 4d 41 58  45).  (CINIT MAX
8580: 5f 52 45 43 56 5f 53 50 45 45 44 5f 4c 41 52 47  _RECV_SPEED_LARG
8590: 45 20 4f 46 46 5f 54 20 31 34 36 29 0a 0a 09 09  E OFF_T 146)....
85a0: 09 09 09 3b 20 50 6f 69 6e 74 65 72 20 74 6f 20  ...; Pointer to 
85b0: 63 6f 6d 6d 61 6e 64 20 73 74 72 69 6e 67 20 74  command string t
85c0: 6f 20 73 65 6e 64 20 69 66 20 55 53 45 52 2f 50  o send if USER/P
85d0: 41 53 53 20 66 61 69 6c 73 2e 20 0a 20 20 28 43  ASS fails. .  (C
85e0: 49 4e 49 54 20 46 54 50 5f 41 4c 54 45 52 4e 41  INIT FTP_ALTERNA
85f0: 54 49 56 45 5f 54 4f 5f 55 53 45 52 20 53 54 52  TIVE_TO_USER STR
8600: 49 4e 47 50 4f 49 4e 54 20 31 34 37 29 0a 0a 09  INGPOINT 147)...
8610: 09 09 09 09 3b 20 63 61 6c 6c 62 61 63 6b 20 66  ....; callback f
8620: 75 6e 63 74 69 6f 6e 20 66 6f 72 20 73 65 74 74  unction for sett
8630: 69 6e 67 20 73 6f 63 6b 65 74 20 6f 70 74 69 6f  ing socket optio
8640: 6e 73 20 0a 20 20 28 43 49 4e 49 54 20 53 4f 43  ns .  (CINIT SOC
8650: 4b 4f 50 54 46 55 4e 43 54 49 4f 4e 20 46 55 4e  KOPTFUNCTION FUN
8660: 43 54 49 4f 4e 50 4f 49 4e 54 20 31 34 38 29 0a  CTIONPOINT 148).
8670: 20 20 28 43 49 4e 49 54 20 53 4f 43 4b 4f 50 54    (CINIT SOCKOPT
8680: 44 41 54 41 20 4f 42 4a 45 43 54 50 4f 49 4e 54  DATA OBJECTPOINT
8690: 20 31 34 39 29 0a 0a 20 20 3b 3b 20 2f 2a 20 73   149)..  ;; /* s
86a0: 65 74 20 74 6f 20 30 20 74 6f 20 64 69 73 61 62  et to 0 to disab
86b0: 6c 65 20 73 65 73 73 69 6f 6e 20 49 44 20 72 65  le session ID re
86c0: 2d 75 73 65 20 66 6f 72 20 74 68 69 73 20 74 72  -use for this tr
86d0: 61 6e 73 66 65 72 20 64 65 66 61 75 6c 74 20 69  ansfer default i
86e0: 73 0a 20 20 3b 3b 20 20 20 20 65 6e 61 62 6c 65  s.  ;;    enable
86f0: 64 20 28 3d 3d 20 31 29 20 2a 2f 0a 20 20 28 43  d (== 1) */.  (C
8700: 49 4e 49 54 20 53 53 4c 5f 53 45 53 53 49 4f 4e  INIT SSL_SESSION
8710: 49 44 5f 43 41 43 48 45 20 4c 4f 4e 47 20 31 35  ID_CACHE LONG 15
8720: 30 29 0a 0a 09 09 09 09 09 3b 20 61 6c 6c 6f 77  0).......; allow
8730: 65 64 20 53 53 48 20 61 75 74 68 65 6e 74 69 63  ed SSH authentic
8740: 61 74 69 6f 6e 20 6d 65 74 68 6f 64 73 20 0a 20  ation methods . 
8750: 20 28 43 49 4e 49 54 20 53 53 48 5f 41 55 54 48   (CINIT SSH_AUTH
8760: 5f 54 59 50 45 53 20 4c 4f 4e 47 20 31 35 31 29  _TYPES LONG 151)
8770: 0a 0a 09 09 09 09 09 3b 20 55 73 65 64 20 62 79  .......; Used by
8780: 20 73 63 70 2f 73 66 74 70 20 74 6f 20 64 6f 20   scp/sftp to do 
8790: 70 75 62 6c 69 63 2f 70 72 69 76 61 74 65 20 6b  public/private k
87a0: 65 79 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f  ey authenticatio
87b0: 6e 20 0a 20 20 28 43 49 4e 49 54 20 53 53 48 5f  n .  (CINIT SSH_
87c0: 50 55 42 4c 49 43 5f 4b 45 59 46 49 4c 45 20 53  PUBLIC_KEYFILE S
87d0: 54 52 49 4e 47 50 4f 49 4e 54 20 31 35 32 29 0a  TRINGPOINT 152).
87e0: 20 20 28 43 49 4e 49 54 20 53 53 48 5f 50 52 49    (CINIT SSH_PRI
87f0: 56 41 54 45 5f 4b 45 59 46 49 4c 45 20 53 54 52  VATE_KEYFILE STR
8800: 49 4e 47 50 4f 49 4e 54 20 31 35 33 29 0a 0a 09  INGPOINT 153)...
8810: 09 09 09 09 3b 20 53 65 6e 64 20 43 43 43 20 28  ....; Send CCC (
8820: 43 6c 65 61 72 20 43 6f 6d 6d 61 6e 64 20 43 68  Clear Command Ch
8830: 61 6e 6e 65 6c 29 20 61 66 74 65 72 20 61 75 74  annel) after aut
8840: 68 65 6e 74 69 63 61 74 69 6f 6e 20 0a 20 20 28  hentication .  (
8850: 43 49 4e 49 54 20 46 54 50 5f 53 53 4c 5f 43 43  CINIT FTP_SSL_CC
8860: 43 20 4c 4f 4e 47 20 31 35 34 29 0a 0a 09 09 09  C LONG 154).....
8870: 09 09 3b 20 53 61 6d 65 20 61 73 20 54 49 4d 45  ..; Same as TIME
8880: 4f 55 54 20 61 6e 64 20 43 4f 4e 4e 45 43 54 54  OUT and CONNECTT
8890: 49 4d 45 4f 55 54 20 62 75 74 20 77 69 74 68 20  IMEOUT but with 
88a0: 6d 73 20 72 65 73 6f 6c 75 74 69 6f 6e 20 0a 20  ms resolution . 
88b0: 20 28 43 49 4e 49 54 20 54 49 4d 45 4f 55 54 5f   (CINIT TIMEOUT_
88c0: 4d 53 20 4c 4f 4e 47 20 31 35 35 29 0a 20 20 28  MS LONG 155).  (
88d0: 43 49 4e 49 54 20 43 4f 4e 4e 45 43 54 54 49 4d  CINIT CONNECTTIM
88e0: 45 4f 55 54 5f 4d 53 20 4c 4f 4e 47 20 31 35 36  EOUT_MS LONG 156
88f0: 29 0a 0a 20 20 3b 3b 20 2f 2a 20 73 65 74 20 74  )..  ;; /* set t
8900: 6f 20 7a 65 72 6f 20 74 6f 20 64 69 73 61 62 6c  o zero to disabl
8910: 65 20 74 68 65 20 6c 69 62 63 75 72 6c 27 73 20  e the libcurl's 
8920: 64 65 63 6f 64 69 6e 67 20 61 6e 64 20 74 68 75  decoding and thu
8930: 73 20 70 61 73 73 20 74 68 65 20 72 61 77 20 62  s pass the raw b
8940: 6f 64 79 0a 20 20 3b 3b 20 20 20 20 64 61 74 61  ody.  ;;    data
8950: 20 74 6f 20 74 68 65 20 61 70 70 6c 69 63 61 74   to the applicat
8960: 69 6f 6e 20 65 76 65 6e 20 77 68 65 6e 20 69 74  ion even when it
8970: 20 69 73 20 65 6e 63 6f 64 65 64 2f 63 6f 6d 70   is encoded/comp
8980: 72 65 73 73 65 64 20 2a 2f 0a 20 20 28 43 49 4e  ressed */.  (CIN
8990: 49 54 20 48 54 54 50 5f 54 52 41 4e 53 46 45 52  IT HTTP_TRANSFER
89a0: 5f 44 45 43 4f 44 49 4e 47 20 4c 4f 4e 47 20 31  _DECODING LONG 1
89b0: 35 37 29 0a 20 20 28 43 49 4e 49 54 20 48 54 54  57).  (CINIT HTT
89c0: 50 5f 43 4f 4e 54 45 4e 54 5f 44 45 43 4f 44 49  P_CONTENT_DECODI
89d0: 4e 47 20 4c 4f 4e 47 20 31 35 38 29 0a 0a 20 20  NG LONG 158)..  
89e0: 3b 3b 20 2f 2a 20 50 65 72 6d 69 73 73 69 6f 6e  ;; /* Permission
89f0: 20 75 73 65 64 20 77 68 65 6e 20 63 72 65 61 74   used when creat
8a00: 69 6e 67 20 6e 65 77 20 66 69 6c 65 73 20 61 6e  ing new files an
8a10: 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f 6e  d directories on
8a20: 20 74 68 65 20 72 65 6d 6f 74 65 0a 20 20 3b 3b   the remote.  ;;
8a30: 20 20 20 20 73 65 72 76 65 72 20 66 6f 72 20 70      server for p
8a40: 72 6f 74 6f 63 6f 6c 73 20 74 68 61 74 20 73 75  rotocols that su
8a50: 70 70 6f 72 74 20 69 74 20 53 46 54 50 2f 53 43  pport it SFTP/SC
8a60: 50 2f 46 49 4c 45 20 2a 2f 0a 20 20 28 43 49 4e  P/FILE */.  (CIN
8a70: 49 54 20 4e 45 57 5f 46 49 4c 45 5f 50 45 52 4d  IT NEW_FILE_PERM
8a80: 53 20 4c 4f 4e 47 20 31 35 39 29 0a 20 20 28 43  S LONG 159).  (C
8a90: 49 4e 49 54 20 4e 45 57 5f 44 49 52 45 43 54 4f  INIT NEW_DIRECTO
8aa0: 52 59 5f 50 45 52 4d 53 20 4c 4f 4e 47 20 31 36  RY_PERMS LONG 16
8ab0: 30 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74 20  0)..  ;; /* Set 
8ac0: 74 68 65 20 62 65 68 61 76 69 6f 75 72 20 6f 66  the behaviour of
8ad0: 20 50 4f 53 54 20 77 68 65 6e 20 72 65 64 69 72   POST when redir
8ae0: 65 63 74 69 6e 67 2e 20 56 61 6c 75 65 73 20 6d  ecting. Values m
8af0: 75 73 74 20 62 65 20 73 65 74 20 74 6f 20 6f 6e  ust be set to on
8b00: 65 0a 20 20 3b 3b 20 20 20 20 6f 66 20 43 55 52  e.  ;;    of CUR
8b10: 4c 5f 52 45 44 49 52 2a 20 64 65 66 69 6e 65 73  L_REDIR* defines
8b20: 20 62 65 6c 6f 77 2e 20 54 68 69 73 20 75 73 65   below. This use
8b30: 64 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 43  d to be called C
8b40: 55 52 4c 4f 50 54 5f 50 4f 53 54 33 30 31 20 2a  URLOPT_POST301 *
8b50: 2f 0a 20 20 28 43 49 4e 49 54 20 50 4f 53 54 52  /.  (CINIT POSTR
8b60: 45 44 49 52 20 4c 4f 4e 47 20 31 36 31 29 0a 0a  EDIR LONG 161)..
8b70: 09 09 09 09 09 3b 20 75 73 65 64 20 62 79 20 73  .....; used by s
8b80: 63 70 2f 73 66 74 70 20 74 6f 20 76 65 72 69 66  cp/sftp to verif
8b90: 79 20 74 68 65 20 68 6f 73 74 27 73 20 70 75 62  y the host's pub
8ba0: 6c 69 63 20 6b 65 79 20 0a 20 20 28 43 49 4e 49  lic key .  (CINI
8bb0: 54 20 53 53 48 5f 48 4f 53 54 5f 50 55 42 4c 49  T SSH_HOST_PUBLI
8bc0: 43 5f 4b 45 59 5f 4d 44 35 20 53 54 52 49 4e 47  C_KEY_MD5 STRING
8bd0: 50 4f 49 4e 54 20 31 36 32 29 0a 0a 20 20 3b 3b  POINT 162)..  ;;
8be0: 20 2f 2a 20 43 61 6c 6c 62 61 63 6b 20 66 75 6e   /* Callback fun
8bf0: 63 74 69 6f 6e 20 66 6f 72 20 6f 70 65 6e 69 6e  ction for openin
8c00: 67 20 73 6f 63 6b 65 74 20 28 69 6e 73 74 65 61  g socket (instea
8c10: 64 20 6f 66 20 73 6f 63 6b 65 74 28 32 29 29 2e  d of socket(2)).
8c20: 20 4f 70 74 69 6f 6e 61 6c 6c 79 2c 0a 20 20 3b   Optionally,.  ;
8c30: 3b 20 20 20 20 63 61 6c 6c 62 61 63 6b 20 69 73  ;    callback is
8c40: 20 61 62 6c 65 20 63 68 61 6e 67 65 20 74 68 65   able change the
8c50: 20 61 64 64 72 65 73 73 20 6f 72 20 72 65 66 75   address or refu
8c60: 73 65 20 74 6f 20 63 6f 6e 6e 65 63 74 20 72 65  se to connect re
8c70: 74 75 72 6e 69 6e 67 0a 20 20 3b 3b 20 20 20 20  turning.  ;;    
8c80: 43 55 52 4c 5f 53 4f 43 4b 45 54 5f 42 41 44 2e  CURL_SOCKET_BAD.
8c90: 20 20 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 73    The callback s
8ca0: 68 6f 75 6c 64 20 68 61 76 65 20 74 79 70 65 0a  hould have type.
8cb0: 20 20 3b 3b 20 20 20 20 63 75 72 6c 5f 6f 70 65    ;;    curl_ope
8cc0: 6e 73 6f 63 6b 65 74 5f 63 61 6c 6c 62 61 63 6b  nsocket_callback
8cd0: 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 4f 50 45   */.  (CINIT OPE
8ce0: 4e 53 4f 43 4b 45 54 46 55 4e 43 54 49 4f 4e 20  NSOCKETFUNCTION 
8cf0: 46 55 4e 43 54 49 4f 4e 50 4f 49 4e 54 20 31 36  FUNCTIONPOINT 16
8d00: 33 29 0a 20 20 28 43 49 4e 49 54 20 4f 50 45 4e  3).  (CINIT OPEN
8d10: 53 4f 43 4b 45 54 44 41 54 41 20 4f 42 4a 45 43  SOCKETDATA OBJEC
8d20: 54 50 4f 49 4e 54 20 31 36 34 29 0a 0a 09 09 09  TPOINT 164).....
8d30: 09 09 3b 20 50 4f 53 54 20 76 6f 6c 61 74 69 6c  ..; POST volatil
8d40: 65 20 69 6e 70 75 74 20 66 69 65 6c 64 73 2e 20  e input fields. 
8d50: 0a 20 20 28 43 49 4e 49 54 20 43 4f 50 59 50 4f  .  (CINIT COPYPO
8d60: 53 54 46 49 45 4c 44 53 20 4f 42 4a 45 43 54 50  STFIELDS OBJECTP
8d70: 4f 49 4e 54 20 31 36 35 29 0a 0a 09 09 09 09 09  OINT 165).......
8d80: 3b 20 73 65 74 20 74 72 61 6e 73 66 65 72 20 6d  ; set transfer m
8d90: 6f 64 65 20 28 3b 74 79 70 65 3d 3c 61 7c 69 3e  ode (;type=<a|i>
8da0: 29 20 77 68 65 6e 20 64 6f 69 6e 67 20 46 54 50  ) when doing FTP
8db0: 20 76 69 61 20 61 6e 20 48 54 54 50 20 70 72 6f   via an HTTP pro
8dc0: 78 79 20 0a 20 20 28 43 49 4e 49 54 20 50 52 4f  xy .  (CINIT PRO
8dd0: 58 59 5f 54 52 41 4e 53 46 45 52 5f 4d 4f 44 45  XY_TRANSFER_MODE
8de0: 20 4c 4f 4e 47 20 31 36 36 29 0a 0a 09 09 09 09   LONG 166)......
8df0: 09 3b 20 43 61 6c 6c 62 61 63 6b 20 66 75 6e 63  .; Callback func
8e00: 74 69 6f 6e 20 66 6f 72 20 73 65 65 6b 69 6e 67  tion for seeking
8e10: 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 73 74   in the input st
8e20: 72 65 61 6d 20 0a 20 20 28 43 49 4e 49 54 20 53  ream .  (CINIT S
8e30: 45 45 4b 46 55 4e 43 54 49 4f 4e 20 46 55 4e 43  EEKFUNCTION FUNC
8e40: 54 49 4f 4e 50 4f 49 4e 54 20 31 36 37 29 0a 20  TIONPOINT 167). 
8e50: 20 28 43 49 4e 49 54 20 53 45 45 4b 44 41 54 41   (CINIT SEEKDATA
8e60: 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20 31 36 38   OBJECTPOINT 168
8e70: 29 0a 0a 09 09 09 09 09 3b 20 43 52 4c 20 66 69  ).......; CRL fi
8e80: 6c 65 20 0a 20 20 28 43 49 4e 49 54 20 43 52 4c  le .  (CINIT CRL
8e90: 46 49 4c 45 20 53 54 52 49 4e 47 50 4f 49 4e 54  FILE STRINGPOINT
8ea0: 20 31 36 39 29 0a 0a 09 09 09 09 09 3b 20 49 73   169).......; Is
8eb0: 73 75 65 72 20 63 65 72 74 69 66 69 63 61 74 65  suer certificate
8ec0: 20 0a 20 20 28 43 49 4e 49 54 20 49 53 53 55 45   .  (CINIT ISSUE
8ed0: 52 43 45 52 54 20 53 54 52 49 4e 47 50 4f 49 4e  RCERT STRINGPOIN
8ee0: 54 20 31 37 30 29 0a 0a 09 09 09 09 09 3b 20 28  T 170).......; (
8ef0: 49 50 76 36 29 20 41 64 64 72 65 73 73 20 73 63  IPv6) Address sc
8f00: 6f 70 65 20 0a 20 20 28 43 49 4e 49 54 20 41 44  ope .  (CINIT AD
8f10: 44 52 45 53 53 5f 53 43 4f 50 45 20 4c 4f 4e 47  DRESS_SCOPE LONG
8f20: 20 31 37 31 29 0a 0a 20 20 3b 3b 20 2f 2a 20 43   171)..  ;; /* C
8f30: 6f 6c 6c 65 63 74 20 63 65 72 74 69 66 69 63 61  ollect certifica
8f40: 74 65 20 63 68 61 69 6e 20 69 6e 66 6f 20 61 6e  te chain info an
8f50: 64 20 61 6c 6c 6f 77 20 69 74 20 74 6f 20 67 65  d allow it to ge
8f60: 74 20 72 65 74 72 69 65 76 61 62 6c 65 20 77 69  t retrievable wi
8f70: 74 68 0a 20 20 3b 3b 20 20 20 20 43 55 52 4c 49  th.  ;;    CURLI
8f80: 4e 46 4f 5f 43 45 52 54 49 4e 46 4f 20 61 66 74  NFO_CERTINFO aft
8f90: 65 72 20 74 68 65 20 74 72 61 6e 73 66 65 72 20  er the transfer 
8fa0: 69 73 20 63 6f 6d 70 6c 65 74 65 2e 20 2a 2f 0a  is complete. */.
8fb0: 20 20 28 43 49 4e 49 54 20 43 45 52 54 49 4e 46    (CINIT CERTINF
8fc0: 4f 20 4c 4f 4e 47 20 31 37 32 29 0a 0a 09 09 09  O LONG 172).....
8fd0: 09 09 3b 20 22 6e 61 6d 65 22 20 61 6e 64 20 22  ..; "name" and "
8fe0: 70 77 64 22 20 74 6f 20 75 73 65 20 77 68 65 6e  pwd" to use when
8ff0: 20 66 65 74 63 68 69 6e 67 2e 20 0a 20 20 28 43   fetching. .  (C
9000: 49 4e 49 54 20 55 53 45 52 4e 41 4d 45 20 53 54  INIT USERNAME ST
9010: 52 49 4e 47 50 4f 49 4e 54 20 31 37 33 29 0a 20  RINGPOINT 173). 
9020: 20 28 43 49 4e 49 54 20 50 41 53 53 57 4f 52 44   (CINIT PASSWORD
9030: 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 31 37 34   STRINGPOINT 174
9040: 29 0a 0a 09 09 09 09 09 3b 20 22 6e 61 6d 65 22  ).......; "name"
9050: 20 61 6e 64 20 22 70 77 64 22 20 74 6f 20 75 73   and "pwd" to us
9060: 65 20 77 69 74 68 20 50 72 6f 78 79 20 77 68 65  e with Proxy whe
9070: 6e 20 66 65 74 63 68 69 6e 67 2e 20 0a 20 20 28  n fetching. .  (
9080: 43 49 4e 49 54 20 50 52 4f 58 59 55 53 45 52 4e  CINIT PROXYUSERN
9090: 41 4d 45 20 53 54 52 49 4e 47 50 4f 49 4e 54 20  AME STRINGPOINT 
90a0: 31 37 35 29 0a 20 20 28 43 49 4e 49 54 20 50 52  175).  (CINIT PR
90b0: 4f 58 59 50 41 53 53 57 4f 52 44 20 53 54 52 49  OXYPASSWORD STRI
90c0: 4e 47 50 4f 49 4e 54 20 31 37 36 29 0a 0a 20 20  NGPOINT 176)..  
90d0: 3b 3b 20 2f 2a 20 43 6f 6d 6d 61 20 73 65 70 61  ;; /* Comma sepa
90e0: 72 61 74 65 64 20 6c 69 73 74 20 6f 66 20 68 6f  rated list of ho
90f0: 73 74 6e 61 6d 65 73 20 64 65 66 69 6e 69 6e 67  stnames defining
9100: 20 6e 6f 2d 70 72 6f 78 79 20 7a 6f 6e 65 73 2e   no-proxy zones.
9110: 20 54 68 65 73 65 20 73 68 6f 75 6c 64 0a 20 20   These should.  
9120: 3b 3b 20 20 20 20 6d 61 74 63 68 20 62 6f 74 68  ;;    match both
9130: 20 68 6f 73 74 6e 61 6d 65 73 20 64 69 72 65 63   hostnames direc
9140: 74 6c 79 20 61 6e 64 20 68 6f 73 74 6e 61 6d 65  tly and hostname
9150: 73 20 77 69 74 68 69 6e 20 61 20 64 6f 6d 61 69  s within a domai
9160: 6e 2e 20 46 6f 72 0a 20 20 3b 3b 20 20 20 20 65  n. For.  ;;    e
9170: 78 61 6d 70 6c 65 20 6c 6f 63 61 6c 2e 63 6f 6d  xample local.com
9180: 20 77 69 6c 6c 20 6d 61 74 63 68 20 6c 6f 63 61   will match loca
9190: 6c 2e 63 6f 6d 20 61 6e 64 20 77 77 77 2e 6c 6f  l.com and www.lo
91a0: 63 61 6c 2e 63 6f 6d 20 62 75 74 20 4e 4f 54 0a  cal.com but NOT.
91b0: 20 20 3b 3b 20 20 20 20 6e 6f 74 6c 6f 63 61 6c    ;;    notlocal
91c0: 2e 63 6f 6d 20 6f 72 20 77 77 77 2e 6e 6f 74 6c  .com or www.notl
91d0: 6f 63 61 6c 2e 63 6f 6d 2e 20 46 6f 72 20 63 6f  ocal.com. For co
91e0: 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68  mpatibility with
91f0: 20 6f 74 68 65 72 0a 20 20 3b 3b 20 20 20 20 69   other.  ;;    i
9200: 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 6f  mplementations o
9210: 66 20 74 68 69 73 20 2e 6c 6f 63 61 6c 2e 63 6f  f this .local.co
9220: 6d 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64  m will be consid
9230: 65 72 65 64 20 74 6f 20 62 65 20 74 68 65 20 73  ered to be the s
9240: 61 6d 65 20 61 73 0a 20 20 3b 3b 20 20 20 20 6c  ame as.  ;;    l
9250: 6f 63 61 6c 2e 63 6f 6d 2e 20 41 20 73 69 6e 67  ocal.com. A sing
9260: 6c 65 20 2a 20 69 73 20 74 68 65 20 6f 6e 6c 79  le * is the only
9270: 20 76 61 6c 69 64 20 77 69 6c 64 63 61 72 64 20   valid wildcard 
9280: 61 6e 64 20 65 66 66 65 63 74 69 76 65 6c 79 0a  and effectively.
9290: 20 20 3b 3b 20 20 20 20 64 69 73 61 62 6c 65 73    ;;    disables
92a0: 20 74 68 65 20 75 73 65 20 6f 66 20 70 72 6f 78   the use of prox
92b0: 79 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 4e  y. */.  (CINIT N
92c0: 4f 50 52 4f 58 59 20 53 54 52 49 4e 47 50 4f 49  OPROXY STRINGPOI
92d0: 4e 54 20 31 37 37 29 0a 0a 09 09 09 09 09 3b 20  NT 177).......; 
92e0: 62 6c 6f 63 6b 20 73 69 7a 65 20 66 6f 72 20 54  block size for T
92f0: 46 54 50 20 74 72 61 6e 73 66 65 72 73 20 0a 20  FTP transfers . 
9300: 20 28 43 49 4e 49 54 20 54 46 54 50 5f 42 4c 4b   (CINIT TFTP_BLK
9310: 53 49 5a 45 20 4c 4f 4e 47 20 31 37 38 29 0a 0a  SIZE LONG 178)..
9320: 09 09 09 09 09 3b 20 53 6f 63 6b 73 20 53 65 72  .....; Socks Ser
9330: 76 69 63 65 20 0a 20 20 28 43 49 4e 49 54 20 53  vice .  (CINIT S
9340: 4f 43 4b 53 35 5f 47 53 53 41 50 49 5f 53 45 52  OCKS5_GSSAPI_SER
9350: 56 49 43 45 20 53 54 52 49 4e 47 50 4f 49 4e 54  VICE STRINGPOINT
9360: 20 31 37 39 29 20 3b 20 44 45 50 52 45 43 41 54   179) ; DEPRECAT
9370: 45 44 20 64 6f 20 6e 6f 74 20 75 73 65 21 20 0a  ED do not use! .
9380: 0a 09 09 09 09 09 3b 20 53 6f 63 6b 73 20 53 65  ......; Socks Se
9390: 72 76 69 63 65 20 0a 20 20 28 43 49 4e 49 54 20  rvice .  (CINIT 
93a0: 53 4f 43 4b 53 35 5f 47 53 53 41 50 49 5f 4e 45  SOCKS5_GSSAPI_NE
93b0: 43 20 4c 4f 4e 47 20 31 38 30 29 0a 0a 20 20 3b  C LONG 180)..  ;
93c0: 3b 20 2f 2a 20 73 65 74 20 74 68 65 20 62 69 74  ; /* set the bit
93d0: 6d 61 73 6b 20 66 6f 72 20 74 68 65 20 70 72 6f  mask for the pro
93e0: 74 6f 63 6f 6c 73 20 74 68 61 74 20 61 72 65 20  tocols that are 
93f0: 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 75 73  allowed to be us
9400: 65 64 20 66 6f 72 20 74 68 65 0a 20 20 3b 3b 20  ed for the.  ;; 
9410: 20 20 20 74 72 61 6e 73 66 65 72 20 77 68 69 63     transfer whic
9420: 68 20 74 68 75 73 20 68 65 6c 70 73 20 74 68 65  h thus helps the
9430: 20 61 70 70 20 77 68 69 63 68 20 74 61 6b 65 73   app which takes
9440: 20 55 52 4c 73 20 66 72 6f 6d 20 75 73 65 72 73   URLs from users
9450: 20 6f 72 20 6f 74 68 65 72 0a 20 20 3b 3b 20 20   or other.  ;;  
9460: 20 20 65 78 74 65 72 6e 61 6c 20 69 6e 70 75 74    external input
9470: 73 20 61 6e 64 20 77 61 6e 74 20 74 6f 20 72 65  s and want to re
9480: 73 74 72 69 63 74 20 77 68 61 74 20 70 72 6f 74  strict what prot
9490: 6f 63 6f 6c 28 73 29 20 74 6f 20 64 65 61 6c 0a  ocol(s) to deal.
94a0: 20 20 3b 3b 20 20 20 20 77 69 74 68 2e 20 44 65    ;;    with. De
94b0: 66 61 75 6c 74 73 20 74 6f 20 43 55 52 4c 50 52  faults to CURLPR
94c0: 4f 54 4f 5f 41 4c 4c 2e 20 2a 2f 0a 20 20 28 43  OTO_ALL. */.  (C
94d0: 49 4e 49 54 20 50 52 4f 54 4f 43 4f 4c 53 20 4c  INIT PROTOCOLS L
94e0: 4f 4e 47 20 31 38 31 29 0a 0a 20 20 3b 3b 20 2f  ONG 181)..  ;; /
94f0: 2a 20 73 65 74 20 74 68 65 20 62 69 74 6d 61 73  * set the bitmas
9500: 6b 20 66 6f 72 20 74 68 65 20 70 72 6f 74 6f 63  k for the protoc
9510: 6f 6c 73 20 74 68 61 74 20 6c 69 62 63 75 72 6c  ols that libcurl
9520: 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 66   is allowed to f
9530: 6f 6c 6c 6f 77 20 74 6f 2c 0a 20 20 3b 3b 20 20  ollow to,.  ;;  
9540: 20 20 61 73 20 61 20 73 75 62 73 65 74 20 6f 66    as a subset of
9550: 20 74 68 65 20 43 55 52 4c 4f 50 54 5f 50 52 4f   the CURLOPT_PRO
9560: 54 4f 43 4f 4c 53 20 6f 6e 65 73 2e 20 54 68 61  TOCOLS ones. Tha
9570: 74 20 6d 65 61 6e 73 20 74 68 65 20 70 72 6f 74  t means the prot
9580: 6f 63 6f 6c 20 6e 65 65 64 73 0a 20 20 3b 3b 20  ocol needs.  ;; 
9590: 20 20 20 74 6f 20 62 65 20 73 65 74 20 69 6e 20     to be set in 
95a0: 62 6f 74 68 20 62 69 74 6d 61 73 6b 73 20 74 6f  both bitmasks to
95b0: 20 62 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 67   be allowed to g
95c0: 65 74 20 72 65 64 69 72 65 63 74 65 64 20 74 6f  et redirected to
95d0: 2e 20 44 65 66 61 75 6c 74 73 0a 20 20 3b 3b 20  . Defaults.  ;; 
95e0: 20 20 20 74 6f 20 61 6c 6c 20 70 72 6f 74 6f 63     to all protoc
95f0: 6f 6c 73 20 65 78 63 65 70 74 20 46 49 4c 45 20  ols except FILE 
9600: 61 6e 64 20 53 43 50 2e 20 2a 2f 0a 20 20 28 43  and SCP. */.  (C
9610: 49 4e 49 54 20 52 45 44 49 52 5f 50 52 4f 54 4f  INIT REDIR_PROTO
9620: 43 4f 4c 53 20 4c 4f 4e 47 20 31 38 32 29 0a 0a  COLS LONG 182)..
9630: 09 09 09 09 09 3b 20 73 65 74 20 74 68 65 20 53  .....; set the S
9640: 53 48 20 6b 6e 6f 77 6e 68 6f 73 74 20 66 69 6c  SH knownhost fil
9650: 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20 0a 20  e name to use . 
9660: 20 28 43 49 4e 49 54 20 53 53 48 5f 4b 4e 4f 57   (CINIT SSH_KNOW
9670: 4e 48 4f 53 54 53 20 53 54 52 49 4e 47 50 4f 49  NHOSTS STRINGPOI
9680: 4e 54 20 31 38 33 29 0a 0a 20 20 3b 3b 20 2f 2a  NT 183)..  ;; /*
9690: 20 73 65 74 20 74 68 65 20 53 53 48 20 68 6f 73   set the SSH hos
96a0: 74 20 6b 65 79 20 63 61 6c 6c 62 61 63 6b 20 6d  t key callback m
96b0: 75 73 74 20 70 6f 69 6e 74 20 74 6f 20 61 20 63  ust point to a c
96c0: 75 72 6c 5f 73 73 68 6b 65 79 63 61 6c 6c 62 61  url_sshkeycallba
96d0: 63 6b 0a 20 20 3b 3b 20 20 20 20 66 75 6e 63 74  ck.  ;;    funct
96e0: 69 6f 6e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20  ion */.  (CINIT 
96f0: 53 53 48 5f 4b 45 59 46 55 4e 43 54 49 4f 4e 20  SSH_KEYFUNCTION 
9700: 46 55 4e 43 54 49 4f 4e 50 4f 49 4e 54 20 31 38  FUNCTIONPOINT 18
9710: 34 29 0a 0a 09 09 09 09 09 3b 20 73 65 74 20 74  4).......; set t
9720: 68 65 20 53 53 48 20 68 6f 73 74 20 6b 65 79 20  he SSH host key 
9730: 63 61 6c 6c 62 61 63 6b 20 63 75 73 74 6f 6d 20  callback custom 
9740: 70 6f 69 6e 74 65 72 20 0a 20 20 28 43 49 4e 49  pointer .  (CINI
9750: 54 20 53 53 48 5f 4b 45 59 44 41 54 41 20 4f 42  T SSH_KEYDATA OB
9760: 4a 45 43 54 50 4f 49 4e 54 20 31 38 35 29 0a 0a  JECTPOINT 185)..
9770: 09 09 09 09 09 3b 20 73 65 74 20 74 68 65 20 53  .....; set the S
9780: 4d 54 50 20 6d 61 69 6c 20 6f 72 69 67 69 6e 61  MTP mail origina
9790: 74 6f 72 20 0a 20 20 28 43 49 4e 49 54 20 4d 41  tor .  (CINIT MA
97a0: 49 4c 5f 46 52 4f 4d 20 53 54 52 49 4e 47 50 4f  IL_FROM STRINGPO
97b0: 49 4e 54 20 31 38 36 29 0a 0a 09 09 09 09 09 3b  INT 186).......;
97c0: 20 73 65 74 20 74 68 65 20 6c 69 73 74 20 6f 66   set the list of
97d0: 20 53 4d 54 50 20 6d 61 69 6c 20 72 65 63 65 69   SMTP mail recei
97e0: 76 65 72 28 73 29 20 0a 20 20 28 43 49 4e 49 54  ver(s) .  (CINIT
97f0: 20 4d 41 49 4c 5f 52 43 50 54 20 4f 42 4a 45 43   MAIL_RCPT OBJEC
9800: 54 50 4f 49 4e 54 20 31 38 37 29 0a 0a 09 09 09  TPOINT 187).....
9810: 09 09 3b 20 46 54 50 3a 20 73 65 6e 64 20 50 52  ..; FTP: send PR
9820: 45 54 20 62 65 66 6f 72 65 20 50 41 53 56 20 0a  ET before PASV .
9830: 20 20 28 43 49 4e 49 54 20 46 54 50 5f 55 53 45    (CINIT FTP_USE
9840: 5f 50 52 45 54 20 4c 4f 4e 47 20 31 38 38 29 0a  _PRET LONG 188).
9850: 0a 09 09 09 09 09 3b 20 52 54 53 50 20 72 65 71  ......; RTSP req
9860: 75 65 73 74 20 6d 65 74 68 6f 64 20 28 4f 50 54  uest method (OPT
9870: 49 4f 4e 53 20 53 45 54 55 50 20 50 4c 41 59 20  IONS SETUP PLAY 
9880: 65 74 63 2e 2e 2e 29 20 0a 20 20 28 43 49 4e 49  etc...) .  (CINI
9890: 54 20 52 54 53 50 5f 52 45 51 55 45 53 54 20 4c  T RTSP_REQUEST L
98a0: 4f 4e 47 20 31 38 39 29 0a 0a 09 09 09 09 09 3b  ONG 189).......;
98b0: 20 54 68 65 20 52 54 53 50 20 73 65 73 73 69 6f   The RTSP sessio
98c0: 6e 20 69 64 65 6e 74 69 66 69 65 72 20 0a 20 20  n identifier .  
98d0: 28 43 49 4e 49 54 20 52 54 53 50 5f 53 45 53 53  (CINIT RTSP_SESS
98e0: 49 4f 4e 5f 49 44 20 53 54 52 49 4e 47 50 4f 49  ION_ID STRINGPOI
98f0: 4e 54 20 31 39 30 29 0a 0a 09 09 09 09 09 3b 20  NT 190).......; 
9900: 54 68 65 20 52 54 53 50 20 73 74 72 65 61 6d 20  The RTSP stream 
9910: 55 52 49 20 0a 20 20 28 43 49 4e 49 54 20 52 54  URI .  (CINIT RT
9920: 53 50 5f 53 54 52 45 41 4d 5f 55 52 49 20 53 54  SP_STREAM_URI ST
9930: 52 49 4e 47 50 4f 49 4e 54 20 31 39 31 29 0a 0a  RINGPOINT 191)..
9940: 09 09 09 09 09 3b 20 54 68 65 20 54 72 61 6e 73  .....; The Trans
9950: 70 6f 72 74 3a 20 68 65 61 64 65 72 20 74 6f 20  port: header to 
9960: 75 73 65 20 69 6e 20 52 54 53 50 20 72 65 71 75  use in RTSP requ
9970: 65 73 74 73 20 0a 20 20 28 43 49 4e 49 54 20 52  ests .  (CINIT R
9980: 54 53 50 5f 54 52 41 4e 53 50 4f 52 54 20 53 54  TSP_TRANSPORT ST
9990: 52 49 4e 47 50 4f 49 4e 54 20 31 39 32 29 0a 0a  RINGPOINT 192)..
99a0: 09 09 09 09 09 3b 20 4d 61 6e 75 61 6c 6c 79 20  .....; Manually 
99b0: 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 63  initialize the c
99c0: 6c 69 65 6e 74 20 52 54 53 50 20 43 53 65 71 20  lient RTSP CSeq 
99d0: 66 6f 72 20 74 68 69 73 20 68 61 6e 64 6c 65 20  for this handle 
99e0: 0a 20 20 28 43 49 4e 49 54 20 52 54 53 50 5f 43  .  (CINIT RTSP_C
99f0: 4c 49 45 4e 54 5f 43 53 45 51 20 4c 4f 4e 47 20  LIENT_CSEQ LONG 
9a00: 31 39 33 29 0a 0a 09 09 09 09 09 3b 20 4d 61 6e  193).......; Man
9a10: 75 61 6c 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65  ually initialize
9a20: 20 74 68 65 20 73 65 72 76 65 72 20 52 54 53 50   the server RTSP
9a30: 20 43 53 65 71 20 66 6f 72 20 74 68 69 73 20 68   CSeq for this h
9a40: 61 6e 64 6c 65 20 0a 20 20 28 43 49 4e 49 54 20  andle .  (CINIT 
9a50: 52 54 53 50 5f 53 45 52 56 45 52 5f 43 53 45 51  RTSP_SERVER_CSEQ
9a60: 20 4c 4f 4e 47 20 31 39 34 29 0a 0a 09 09 09 09   LONG 194)......
9a70: 09 3b 20 54 68 65 20 73 74 72 65 61 6d 20 74 6f  .; The stream to
9a80: 20 70 61 73 73 20 74 6f 20 49 4e 54 45 52 4c 45   pass to INTERLE
9a90: 41 56 45 46 55 4e 43 54 49 4f 4e 2e 20 0a 20 20  AVEFUNCTION. .  
9aa0: 28 43 49 4e 49 54 20 49 4e 54 45 52 4c 45 41 56  (CINIT INTERLEAV
9ab0: 45 44 41 54 41 20 4f 42 4a 45 43 54 50 4f 49 4e  EDATA OBJECTPOIN
9ac0: 54 20 31 39 35 29 0a 0a 09 09 09 09 09 3b 20 4c  T 195).......; L
9ad0: 65 74 20 74 68 65 20 61 70 70 6c 69 63 61 74 69  et the applicati
9ae0: 6f 6e 20 64 65 66 69 6e 65 20 61 20 63 75 73 74  on define a cust
9af0: 6f 6d 20 77 72 69 74 65 20 6d 65 74 68 6f 64 20  om write method 
9b00: 66 6f 72 20 52 54 50 20 64 61 74 61 20 0a 20 20  for RTP data .  
9b10: 28 43 49 4e 49 54 20 49 4e 54 45 52 4c 45 41 56  (CINIT INTERLEAV
9b20: 45 46 55 4e 43 54 49 4f 4e 20 46 55 4e 43 54 49  EFUNCTION FUNCTI
9b30: 4f 4e 50 4f 49 4e 54 20 31 39 36 29 0a 0a 09 09  ONPOINT 196)....
9b40: 09 09 09 3b 20 54 75 72 6e 20 6f 6e 20 77 69 6c  ...; Turn on wil
9b50: 64 63 61 72 64 20 6d 61 74 63 68 69 6e 67 20 0a  dcard matching .
9b60: 20 20 28 43 49 4e 49 54 20 57 49 4c 44 43 41 52    (CINIT WILDCAR
9b70: 44 4d 41 54 43 48 20 4c 4f 4e 47 20 31 39 37 29  DMATCH LONG 197)
9b80: 0a 0a 20 20 3b 3b 20 2f 2a 20 44 69 72 65 63 74  ..  ;; /* Direct
9b90: 6f 72 79 20 6d 61 74 63 68 69 6e 67 20 63 61 6c  ory matching cal
9ba0: 6c 62 61 63 6b 20 63 61 6c 6c 65 64 20 62 65 66  lback called bef
9bb0: 6f 72 65 20 64 6f 77 6e 6c 6f 61 64 69 6e 67 20  ore downloading 
9bc0: 6f 66 20 61 6e 0a 20 20 3b 3b 20 20 20 20 69 6e  of an.  ;;    in
9bd0: 64 69 76 69 64 75 61 6c 20 66 69 6c 65 20 28 63  dividual file (c
9be0: 68 75 6e 6b 29 20 73 74 61 72 74 65 64 20 2a 2f  hunk) started */
9bf0: 0a 20 20 28 43 49 4e 49 54 20 43 48 55 4e 4b 5f  .  (CINIT CHUNK_
9c00: 42 47 4e 5f 46 55 4e 43 54 49 4f 4e 20 46 55 4e  BGN_FUNCTION FUN
9c10: 43 54 49 4f 4e 50 4f 49 4e 54 20 31 39 38 29 0a  CTIONPOINT 198).
9c20: 0a 20 20 3b 3b 20 2f 2a 20 44 69 72 65 63 74 6f  .  ;; /* Directo
9c30: 72 79 20 6d 61 74 63 68 69 6e 67 20 63 61 6c 6c  ry matching call
9c40: 62 61 63 6b 20 63 61 6c 6c 65 64 20 61 66 74 65  back called afte
9c50: 72 20 74 68 65 20 66 69 6c 65 20 28 63 68 75 6e  r the file (chun
9c60: 6b 29 0a 20 20 3b 3b 20 20 20 20 77 61 73 20 64  k).  ;;    was d
9c70: 6f 77 6e 6c 6f 61 64 65 64 20 6f 72 20 73 6b 69  ownloaded or ski
9c80: 70 70 65 64 20 2a 2f 0a 20 20 28 43 49 4e 49 54  pped */.  (CINIT
9c90: 20 43 48 55 4e 4b 5f 45 4e 44 5f 46 55 4e 43 54   CHUNK_END_FUNCT
9ca0: 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e  ION FUNCTIONPOIN
9cb0: 54 20 31 39 39 29 0a 0a 09 09 09 09 09 3b 20 43  T 199).......; C
9cc0: 68 61 6e 67 65 20 6d 61 74 63 68 20 28 66 6e 6d  hange match (fnm
9cd0: 61 74 63 68 2d 6c 69 6b 65 29 20 63 61 6c 6c 62  atch-like) callb
9ce0: 61 63 6b 20 66 6f 72 20 77 69 6c 64 63 61 72 64  ack for wildcard
9cf0: 20 6d 61 74 63 68 69 6e 67 20 0a 20 20 28 43 49   matching .  (CI
9d00: 4e 49 54 20 46 4e 4d 41 54 43 48 5f 46 55 4e 43  NIT FNMATCH_FUNC
9d10: 54 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49  TION FUNCTIONPOI
9d20: 4e 54 20 32 30 30 29 0a 0a 09 09 09 09 09 3b 20  NT 200).......; 
9d30: 4c 65 74 20 74 68 65 20 61 70 70 6c 69 63 61 74  Let the applicat
9d40: 69 6f 6e 20 64 65 66 69 6e 65 20 63 75 73 74 6f  ion define custo
9d50: 6d 20 63 68 75 6e 6b 20 64 61 74 61 20 70 6f 69  m chunk data poi
9d60: 6e 74 65 72 20 0a 20 20 28 43 49 4e 49 54 20 43  nter .  (CINIT C
9d70: 48 55 4e 4b 5f 44 41 54 41 20 4f 42 4a 45 43 54  HUNK_DATA OBJECT
9d80: 50 4f 49 4e 54 20 32 30 31 29 0a 0a 09 09 09 09  POINT 201)......
9d90: 09 3b 20 46 4e 4d 41 54 43 48 5f 46 55 4e 43 54  .; FNMATCH_FUNCT
9da0: 49 4f 4e 20 75 73 65 72 20 70 6f 69 6e 74 65 72  ION user pointer
9db0: 20 0a 20 20 28 43 49 4e 49 54 20 46 4e 4d 41 54   .  (CINIT FNMAT
9dc0: 43 48 5f 44 41 54 41 20 4f 42 4a 45 43 54 50 4f  CH_DATA OBJECTPO
9dd0: 49 4e 54 20 32 30 32 29 0a 0a 09 09 09 09 09 3b  INT 202).......;
9de0: 20 73 65 6e 64 20 6c 69 6e 6b 65 64 2d 6c 69 73   send linked-lis
9df0: 74 20 6f 66 20 6e 61 6d 65 3a 70 6f 72 74 3a 61  t of name:port:a
9e00: 64 64 72 65 73 73 20 73 65 74 73 20 0a 20 20 28  ddress sets .  (
9e10: 43 49 4e 49 54 20 52 45 53 4f 4c 56 45 20 4f 42  CINIT RESOLVE OB
9e20: 4a 45 43 54 50 4f 49 4e 54 20 32 30 33 29 0a 0a  JECTPOINT 203)..
9e30: 09 09 09 09 09 3b 20 53 65 74 20 61 20 75 73 65  .....; Set a use
9e40: 72 6e 61 6d 65 20 66 6f 72 20 61 75 74 68 65 6e  rname for authen
9e50: 74 69 63 61 74 65 64 20 54 4c 53 20 0a 20 20 28  ticated TLS .  (
9e60: 43 49 4e 49 54 20 54 4c 53 41 55 54 48 5f 55 53  CINIT TLSAUTH_US
9e70: 45 52 4e 41 4d 45 20 53 54 52 49 4e 47 50 4f 49  ERNAME STRINGPOI
9e80: 4e 54 20 32 30 34 29 0a 0a 09 09 09 09 09 3b 20  NT 204).......; 
9e90: 53 65 74 20 61 20 70 61 73 73 77 6f 72 64 20 66  Set a password f
9ea0: 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 65 64  or authenticated
9eb0: 20 54 4c 53 20 0a 20 20 28 43 49 4e 49 54 20 54   TLS .  (CINIT T
9ec0: 4c 53 41 55 54 48 5f 50 41 53 53 57 4f 52 44 20  LSAUTH_PASSWORD 
9ed0: 53 54 52 49 4e 47 50 4f 49 4e 54 20 32 30 35 29  STRINGPOINT 205)
9ee0: 0a 0a 09 09 09 09 09 3b 20 53 65 74 20 61 75 74  .......; Set aut
9ef0: 68 65 6e 74 69 63 61 74 69 6f 6e 20 74 79 70 65  hentication type
9f00: 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74   for authenticat
9f10: 65 64 20 54 4c 53 20 0a 20 20 28 43 49 4e 49 54  ed TLS .  (CINIT
9f20: 20 54 4c 53 41 55 54 48 5f 54 59 50 45 20 53 54   TLSAUTH_TYPE ST
9f30: 52 49 4e 47 50 4f 49 4e 54 20 32 30 36 29 0a 0a  RINGPOINT 206)..
9f40: 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74 6f 20 31    ;; /* Set to 1
9f50: 20 74 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 22   to enable the "
9f60: 54 45 3a 22 20 68 65 61 64 65 72 20 69 6e 20 48  TE:" header in H
9f70: 54 54 50 20 72 65 71 75 65 73 74 73 20 74 6f 20  TTP requests to 
9f80: 61 73 6b 20 66 6f 72 0a 20 20 3b 3b 20 20 20 20  ask for.  ;;    
9f90: 63 6f 6d 70 72 65 73 73 65 64 20 74 72 61 6e 73  compressed trans
9fa0: 66 65 72 2d 65 6e 63 6f 64 65 64 20 72 65 73 70  fer-encoded resp
9fb0: 6f 6e 73 65 73 2e 20 53 65 74 20 74 6f 20 30 20  onses. Set to 0 
9fc0: 74 6f 20 64 69 73 61 62 6c 65 20 74 68 65 20 75  to disable the u
9fd0: 73 65 20 6f 66 20 54 45 3a 0a 20 20 3b 3b 20 20  se of TE:.  ;;  
9fe0: 20 20 69 6e 20 6f 75 74 67 6f 69 6e 67 20 72 65    in outgoing re
9ff0: 71 75 65 73 74 73 2e 20 54 68 65 20 63 75 72 72  quests. The curr
a000: 65 6e 74 20 64 65 66 61 75 6c 74 20 69 73 20 30  ent default is 0
a010: 20 62 75 74 20 69 74 20 6d 69 67 68 74 20 63 68   but it might ch
a020: 61 6e 67 65 20 69 6e 20 61 0a 20 20 3b 3b 20 20  ange in a.  ;;  
a030: 20 20 66 75 74 75 72 65 20 6c 69 62 63 75 72 6c    future libcurl
a040: 20 72 65 6c 65 61 73 65 2e 0a 0a 20 20 3b 3b 20   release...  ;; 
a050: 20 20 20 6c 69 62 63 75 72 6c 20 77 69 6c 6c 20     libcurl will 
a060: 61 73 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 70  ask for the comp
a070: 72 65 73 73 65 64 20 6d 65 74 68 6f 64 73 20 69  ressed methods i
a080: 74 20 6b 6e 6f 77 73 20 6f 66 20 61 6e 64 20 69  t knows of and i
a090: 66 20 74 68 61 74 0a 20 20 3b 3b 20 20 20 20 69  f that.  ;;    i
a0a0: 73 6e 27 74 20 61 6e 79 20 69 74 20 77 69 6c 6c  sn't any it will
a0b0: 20 6e 6f 74 20 61 73 6b 20 66 6f 72 20 74 72 61   not ask for tra
a0c0: 6e 73 66 65 72 2d 65 6e 63 6f 64 69 6e 67 20 61  nsfer-encoding a
a0d0: 74 20 61 6c 6c 20 65 76 65 6e 20 69 66 20 74 68  t all even if th
a0e0: 69 73 0a 20 20 3b 3b 20 20 20 20 6f 70 74 69 6f  is.  ;;    optio
a0f0: 6e 20 69 73 20 73 65 74 20 74 6f 20 31 2e 0a 0a  n is set to 1...
a100: 20 20 3b 3b 20 2a 2f 0a 20 20 28 43 49 4e 49 54    ;; */.  (CINIT
a110: 20 54 52 41 4e 53 46 45 52 5f 45 4e 43 4f 44 49   TRANSFER_ENCODI
a120: 4e 47 20 4c 4f 4e 47 20 32 30 37 29 0a 0a 20 20  NG LONG 207)..  
a130: 3b 3b 20 2f 2a 20 43 61 6c 6c 62 61 63 6b 20 66  ;; /* Callback f
a140: 75 6e 63 74 69 6f 6e 20 66 6f 72 20 63 6c 6f 73  unction for clos
a150: 69 6e 67 20 73 6f 63 6b 65 74 20 28 69 6e 73 74  ing socket (inst
a160: 65 61 64 20 6f 66 20 63 6c 6f 73 65 28 32 29 29  ead of close(2))
a170: 2e 20 54 68 65 20 63 61 6c 6c 62 61 63 6b 0a 20  . The callback. 
a180: 20 3b 3b 20 20 20 20 73 68 6f 75 6c 64 20 68 61   ;;    should ha
a190: 76 65 20 74 79 70 65 20 63 75 72 6c 5f 63 6c 6f  ve type curl_clo
a1a0: 73 65 73 6f 63 6b 65 74 5f 63 61 6c 6c 62 61 63  sesocket_callbac
a1b0: 6b 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 43 4c  k */.  (CINIT CL
a1c0: 4f 53 45 53 4f 43 4b 45 54 46 55 4e 43 54 49 4f  OSESOCKETFUNCTIO
a1d0: 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e 54 20  N FUNCTIONPOINT 
a1e0: 32 30 38 29 0a 20 20 28 43 49 4e 49 54 20 43 4c  208).  (CINIT CL
a1f0: 4f 53 45 53 4f 43 4b 45 54 44 41 54 41 20 4f 42  OSESOCKETDATA OB
a200: 4a 45 43 54 50 4f 49 4e 54 20 32 30 39 29 0a 0a  JECTPOINT 209)..
a210: 09 09 09 09 09 3b 20 61 6c 6c 6f 77 20 47 53 53  .....; allow GSS
a220: 41 50 49 20 63 72 65 64 65 6e 74 69 61 6c 20 64  API credential d
a230: 65 6c 65 67 61 74 69 6f 6e 20 0a 20 20 28 43 49  elegation .  (CI
a240: 4e 49 54 20 47 53 53 41 50 49 5f 44 45 4c 45 47  NIT GSSAPI_DELEG
a250: 41 54 49 4f 4e 20 4c 4f 4e 47 20 32 31 30 29 0a  ATION LONG 210).
a260: 0a 09 09 09 09 09 3b 20 53 65 74 20 74 68 65 20  ......; Set the 
a270: 6e 61 6d 65 20 73 65 72 76 65 72 73 20 74 6f 20  name servers to 
a280: 75 73 65 20 66 6f 72 20 44 4e 53 20 72 65 73 6f  use for DNS reso
a290: 6c 75 74 69 6f 6e 20 0a 20 20 28 43 49 4e 49 54  lution .  (CINIT
a2a0: 20 44 4e 53 5f 53 45 52 56 45 52 53 20 53 54 52   DNS_SERVERS STR
a2b0: 49 4e 47 50 4f 49 4e 54 20 32 31 31 29 0a 0a 20  INGPOINT 211).. 
a2c0: 20 3b 3b 20 2f 2a 20 54 69 6d 65 2d 6f 75 74 20   ;; /* Time-out 
a2d0: 61 63 63 65 70 74 20 6f 70 65 72 61 74 69 6f 6e  accept operation
a2e0: 73 20 28 63 75 72 72 65 6e 74 6c 79 20 66 6f 72  s (currently for
a2f0: 20 46 54 50 20 6f 6e 6c 79 29 20 61 66 74 65 72   FTP only) after
a300: 20 74 68 69 73 20 61 6d 6f 75 6e 74 0a 20 20 3b   this amount.  ;
a310: 3b 20 20 20 20 6f 66 20 6d 69 6c 69 73 65 63 6f  ;    of miliseco
a320: 6e 64 73 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54  nds. */.  (CINIT
a330: 20 41 43 43 45 50 54 54 49 4d 45 4f 55 54 5f 4d   ACCEPTTIMEOUT_M
a340: 53 20 4c 4f 4e 47 20 32 31 32 29 0a 0a 09 09 09  S LONG 212).....
a350: 09 09 3b 20 53 65 74 20 54 43 50 20 6b 65 65 70  ..; Set TCP keep
a360: 61 6c 69 76 65 20 0a 20 20 28 43 49 4e 49 54 20  alive .  (CINIT 
a370: 54 43 50 5f 4b 45 45 50 41 4c 49 56 45 20 4c 4f  TCP_KEEPALIVE LO
a380: 4e 47 20 32 31 33 29 0a 0a 09 09 09 09 09 3b 20  NG 213).......; 
a390: 6e 6f 6e 2d 75 6e 69 76 65 72 73 61 6c 20 6b 65  non-universal ke
a3a0: 65 70 61 6c 69 76 65 20 6b 6e 6f 62 73 20 28 4c  epalive knobs (L
a3b0: 69 6e 75 78 20 41 49 58 20 48 50 2d 55 58 20 6d  inux AIX HP-UX m
a3c0: 6f 72 65 29 20 0a 20 20 28 43 49 4e 49 54 20 54  ore) .  (CINIT T
a3d0: 43 50 5f 4b 45 45 50 49 44 4c 45 20 4c 4f 4e 47  CP_KEEPIDLE LONG
a3e0: 20 32 31 34 29 0a 20 20 28 43 49 4e 49 54 20 54   214).  (CINIT T
a3f0: 43 50 5f 4b 45 45 50 49 4e 54 56 4c 20 4c 4f 4e  CP_KEEPINTVL LON
a400: 47 20 32 31 35 29 0a 0a 09 09 09 09 09 3b 20 45  G 215).......; E
a410: 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 73 70  nable/disable sp
a420: 65 63 69 66 69 63 20 53 53 4c 20 66 65 61 74 75  ecific SSL featu
a430: 72 65 73 20 77 69 74 68 20 61 20 62 69 74 6d 61  res with a bitma
a440: 73 6b 20 73 65 65 20 43 55 52 4c 53 53 4c 4f 50  sk see CURLSSLOP
a450: 54 5f 2a 20 0a 20 20 28 43 49 4e 49 54 20 53 53  T_* .  (CINIT SS
a460: 4c 5f 4f 50 54 49 4f 4e 53 20 4c 4f 4e 47 20 32  L_OPTIONS LONG 2
a470: 31 36 29 0a 0a 09 09 09 09 09 3b 20 53 65 74 20  16).......; Set 
a480: 74 68 65 20 53 4d 54 50 20 61 75 74 68 20 6f 72  the SMTP auth or
a490: 69 67 69 6e 61 74 6f 72 20 0a 20 20 28 43 49 4e  iginator .  (CIN
a4a0: 49 54 20 4d 41 49 4c 5f 41 55 54 48 20 53 54 52  IT MAIL_AUTH STR
a4b0: 49 4e 47 50 4f 49 4e 54 20 32 31 37 29 0a 0a 09  INGPOINT 217)...
a4c0: 09 09 09 09 3b 20 45 6e 61 62 6c 65 2f 64 69 73  ....; Enable/dis
a4d0: 61 62 6c 65 20 53 41 53 4c 20 69 6e 69 74 69 61  able SASL initia
a4e0: 6c 20 72 65 73 70 6f 6e 73 65 20 0a 20 20 28 43  l response .  (C
a4f0: 49 4e 49 54 20 53 41 53 4c 5f 49 52 20 4c 4f 4e  INIT SASL_IR LON
a500: 47 20 32 31 38 29 0a 0a 20 20 3b 3b 20 2f 2a 20  G 218)..  ;; /* 
a510: 46 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 69  Function that wi
a520: 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 73  ll be called ins
a530: 74 65 61 64 20 6f 66 20 74 68 65 20 69 6e 74 65  tead of the inte
a540: 72 6e 61 6c 20 70 72 6f 67 72 65 73 73 20 64 69  rnal progress di
a550: 73 70 6c 61 79 0a 20 20 3b 3b 20 20 2a 20 66 75  splay.  ;;  * fu
a560: 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 66 75 6e  nction. This fun
a570: 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20  ction should be 
a580: 64 65 66 69 6e 65 64 20 61 73 20 74 68 65 20 63  defined as the c
a590: 75 72 6c 5f 78 66 65 72 69 6e 66 6f 5f 63 61 6c  url_xferinfo_cal
a5a0: 6c 62 61 63 6b 0a 20 20 3b 3b 20 20 2a 20 70 72  lback.  ;;  * pr
a5b0: 6f 74 6f 74 79 70 65 20 64 65 66 69 6e 65 73 2e  ototype defines.
a5c0: 20 28 44 65 70 72 65 63 61 74 65 73 20 43 55 52   (Deprecates CUR
a5d0: 4c 4f 50 54 5f 50 52 4f 47 52 45 53 53 46 55 4e  LOPT_PROGRESSFUN
a5e0: 43 54 49 4f 4e 29 20 2a 2f 0a 20 20 28 43 49 4e  CTION) */.  (CIN
a5f0: 49 54 20 58 46 45 52 49 4e 46 4f 46 55 4e 43 54  IT XFERINFOFUNCT
a600: 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 50 4f 49 4e  ION FUNCTIONPOIN
a610: 54 20 32 31 39 29 0a 0a 09 09 09 09 09 3b 20 54  T 219).......; T
a620: 68 65 20 58 4f 41 55 54 48 32 20 62 65 61 72 65  he XOAUTH2 beare
a630: 72 20 74 6f 6b 65 6e 20 0a 20 20 28 43 49 4e 49  r token .  (CINI
a640: 54 20 58 4f 41 55 54 48 32 5f 42 45 41 52 45 52  T XOAUTH2_BEARER
a650: 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 32 32 30   STRINGPOINT 220
a660: 29 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74  )..  ;; /* Set t
a670: 68 65 20 69 6e 74 65 72 66 61 63 65 20 73 74 72  he interface str
a680: 69 6e 67 20 74 6f 20 75 73 65 20 61 73 20 6f 75  ing to use as ou
a690: 74 67 6f 69 6e 67 20 6e 65 74 77 6f 72 6b 0a 20  tgoing network. 
a6a0: 20 3b 3b 20 20 2a 20 69 6e 74 65 72 66 61 63 65   ;;  * interface
a6b0: 20 66 6f 72 20 44 4e 53 20 72 65 71 75 65 73 74   for DNS request
a6c0: 73 2e 0a 20 20 3b 3b 20 20 2a 20 4f 6e 6c 79 20  s..  ;;  * Only 
a6d0: 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65  supported by the
a6e0: 20 63 2d 61 72 65 73 20 44 4e 53 20 62 61 63 6b   c-ares DNS back
a6f0: 65 6e 64 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20  end */.  (CINIT 
a700: 44 4e 53 5f 49 4e 54 45 52 46 41 43 45 20 53 54  DNS_INTERFACE ST
a710: 52 49 4e 47 50 4f 49 4e 54 20 32 32 31 29 0a 0a  RINGPOINT 221)..
a720: 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74 68 65 20    ;; /* Set the 
a730: 6c 6f 63 61 6c 20 49 50 76 34 20 61 64 64 72 65  local IPv4 addre
a740: 73 73 20 74 6f 20 75 73 65 20 66 6f 72 20 6f 75  ss to use for ou
a750: 74 67 6f 69 6e 67 20 44 4e 53 20 72 65 71 75 65  tgoing DNS reque
a760: 73 74 73 2e 0a 20 20 3b 3b 20 20 2a 20 4f 6e 6c  sts..  ;;  * Onl
a770: 79 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74  y supported by t
a780: 68 65 20 63 2d 61 72 65 73 20 44 4e 53 20 62 61  he c-ares DNS ba
a790: 63 6b 65 6e 64 20 2a 2f 0a 20 20 28 43 49 4e 49  ckend */.  (CINI
a7a0: 54 20 44 4e 53 5f 4c 4f 43 41 4c 5f 49 50 34 20  T DNS_LOCAL_IP4 
a7b0: 53 54 52 49 4e 47 50 4f 49 4e 54 20 32 32 32 29  STRINGPOINT 222)
a7c0: 0a 0a 20 20 3b 3b 20 2f 2a 20 53 65 74 20 74 68  ..  ;; /* Set th
a7d0: 65 20 6c 6f 63 61 6c 20 49 50 76 34 20 61 64 64  e local IPv4 add
a7e0: 72 65 73 73 20 74 6f 20 75 73 65 20 66 6f 72 20  ress to use for 
a7f0: 6f 75 74 67 6f 69 6e 67 20 44 4e 53 20 72 65 71  outgoing DNS req
a800: 75 65 73 74 73 2e 0a 20 20 3b 3b 20 20 2a 20 4f  uests..  ;;  * O
a810: 6e 6c 79 20 73 75 70 70 6f 72 74 65 64 20 62 79  nly supported by
a820: 20 74 68 65 20 63 2d 61 72 65 73 20 44 4e 53 20   the c-ares DNS 
a830: 62 61 63 6b 65 6e 64 20 2a 2f 0a 20 20 28 43 49  backend */.  (CI
a840: 4e 49 54 20 44 4e 53 5f 4c 4f 43 41 4c 5f 49 50  NIT DNS_LOCAL_IP
a850: 36 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 32 32  6 STRINGPOINT 22
a860: 33 29 0a 0a 09 09 09 09 09 3b 20 53 65 74 20 61  3).......; Set a
a870: 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 6f 70  uthentication op
a880: 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 0a  tions directly .
a890: 20 20 28 43 49 4e 49 54 20 4c 4f 47 49 4e 5f 4f    (CINIT LOGIN_O
a8a0: 50 54 49 4f 4e 53 20 53 54 52 49 4e 47 50 4f 49  PTIONS STRINGPOI
a8b0: 4e 54 20 32 32 34 29 0a 0a 09 09 09 09 09 3b 20  NT 224).......; 
a8c0: 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 54  Enable/disable T
a8d0: 4c 53 20 4e 50 4e 20 65 78 74 65 6e 73 69 6f 6e  LS NPN extension
a8e0: 20 28 68 74 74 70 32 20 6f 76 65 72 20 73 73 6c   (http2 over ssl
a8f0: 20 6d 69 67 68 74 20 66 61 69 6c 20 77 69 74 68   might fail with
a900: 6f 75 74 29 20 0a 20 20 28 43 49 4e 49 54 20 53  out) .  (CINIT S
a910: 53 4c 5f 45 4e 41 42 4c 45 5f 4e 50 4e 20 4c 4f  SL_ENABLE_NPN LO
a920: 4e 47 20 32 32 35 29 0a 0a 09 09 09 09 09 3b 20  NG 225).......; 
a930: 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 54  Enable/disable T
a940: 4c 53 20 41 4c 50 4e 20 65 78 74 65 6e 73 69 6f  LS ALPN extensio
a950: 6e 20 28 68 74 74 70 32 20 6f 76 65 72 20 73 73  n (http2 over ss
a960: 6c 20 6d 69 67 68 74 20 66 61 69 6c 20 77 69 74  l might fail wit
a970: 68 6f 75 74 29 20 0a 20 20 28 43 49 4e 49 54 20  hout) .  (CINIT 
a980: 53 53 4c 5f 45 4e 41 42 4c 45 5f 41 4c 50 4e 20  SSL_ENABLE_ALPN 
a990: 4c 4f 4e 47 20 32 32 36 29 0a 0a 20 20 3b 3b 20  LONG 226)..  ;; 
a9a0: 2f 2a 20 54 69 6d 65 20 74 6f 20 77 61 69 74 20  /* Time to wait 
a9b0: 66 6f 72 20 61 20 72 65 73 70 6f 6e 73 65 20 74  for a response t
a9c0: 6f 20 61 20 48 54 54 50 20 72 65 71 75 65 73 74  o a HTTP request
a9d0: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6e 0a 20   containing an. 
a9e0: 20 3b 3b 20 20 2a 20 45 78 70 65 63 74 3a 20 31   ;;  * Expect: 1
a9f0: 30 30 2d 63 6f 6e 74 69 6e 75 65 20 68 65 61 64  00-continue head
aa00: 65 72 20 62 65 66 6f 72 65 20 73 65 6e 64 69 6e  er before sendin
aa10: 67 20 74 68 65 20 64 61 74 61 20 61 6e 79 77 61  g the data anywa
aa20: 79 2e 20 2a 2f 0a 20 20 28 43 49 4e 49 54 20 45  y. */.  (CINIT E
aa30: 58 50 45 43 54 5f 31 30 30 5f 54 49 4d 45 4f 55  XPECT_100_TIMEOU
aa40: 54 5f 4d 53 20 4c 4f 4e 47 20 32 32 37 29 0a 0a  T_MS LONG 227)..
aa50: 20 20 3b 3b 20 2f 2a 20 54 68 69 73 20 70 6f 69    ;; /* This poi
aa60: 6e 74 73 20 74 6f 20 61 20 6c 69 6e 6b 65 64 20  nts to a linked 
aa70: 6c 69 73 74 20 6f 66 20 68 65 61 64 65 72 73 20  list of headers 
aa80: 75 73 65 64 20 66 6f 72 20 70 72 6f 78 79 20 72  used for proxy r
aa90: 65 71 75 65 73 74 73 20 6f 6e 6c 79 2c 0a 20 20  equests only,.  
aaa0: 3b 3b 20 20 20 20 73 74 72 75 63 74 20 63 75 72  ;;    struct cur
aab0: 6c 5f 73 6c 69 73 74 20 6b 69 6e 64 20 2a 2f 0a  l_slist kind */.
aac0: 20 20 28 43 49 4e 49 54 20 50 52 4f 58 59 48 45    (CINIT PROXYHE
aad0: 41 44 45 52 20 4f 42 4a 45 43 54 50 4f 49 4e 54  ADER OBJECTPOINT
aae0: 20 32 32 38 29 0a 0a 09 09 09 09 09 3b 20 50 61   228).......; Pa
aaf0: 73 73 20 69 6e 20 61 20 62 69 74 6d 61 73 6b 20  ss in a bitmask 
ab00: 6f 66 20 22 68 65 61 64 65 72 20 6f 70 74 69 6f  of "header optio
ab10: 6e 73 22 20 0a 20 20 28 43 49 4e 49 54 20 48 45  ns" .  (CINIT HE
ab20: 41 44 45 52 4f 50 54 20 4c 4f 4e 47 20 32 32 39  ADEROPT LONG 229
ab30: 29 0a 0a 20 20 3b 3b 20 2f 2a 20 54 68 65 20 70  )..  ;; /* The p
ab40: 75 62 6c 69 63 20 6b 65 79 20 69 6e 20 44 45 52  ublic key in DER
ab50: 20 66 6f 72 6d 20 75 73 65 64 20 74 6f 20 76 61   form used to va
ab60: 6c 69 64 61 74 65 20 74 68 65 20 70 65 65 72 20  lidate the peer 
ab70: 70 75 62 6c 69 63 20 6b 65 79 0a 20 20 3b 3b 20  public key.  ;; 
ab80: 20 20 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 69     this option i
ab90: 73 20 75 73 65 64 20 6f 6e 6c 79 20 69 66 20 53  s used only if S
aba0: 53 4c 5f 56 45 52 49 46 59 50 45 45 52 20 69 73  SL_VERIFYPEER is
abb0: 20 74 72 75 65 20 2a 2f 0a 20 20 28 43 49 4e 49   true */.  (CINI
abc0: 54 20 50 49 4e 4e 45 44 50 55 42 4c 49 43 4b 45  T PINNEDPUBLICKE
abd0: 59 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 32 33  Y STRINGPOINT 23
abe0: 30 29 0a 0a 09 09 09 09 09 3b 20 50 61 74 68 20  0).......; Path 
abf0: 74 6f 20 55 6e 69 78 20 64 6f 6d 61 69 6e 20 73  to Unix domain s
ac00: 6f 63 6b 65 74 20 0a 20 20 28 43 49 4e 49 54 20  ocket .  (CINIT 
ac10: 55 4e 49 58 5f 53 4f 43 4b 45 54 5f 50 41 54 48  UNIX_SOCKET_PATH
ac20: 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 32 33 31   STRINGPOINT 231
ac30: 29 0a 0a 09 09 09 09 09 3b 20 53 65 74 20 69 66  ).......; Set if
ac40: 20 77 65 20 73 68 6f 75 6c 64 20 76 65 72 69 66   we should verif
ac50: 79 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74  y the certificat
ac60: 65 20 73 74 61 74 75 73 2e 20 0a 20 20 28 43 49  e status. .  (CI
ac70: 4e 49 54 20 53 53 4c 5f 56 45 52 49 46 59 53 54  NIT SSL_VERIFYST
ac80: 41 54 55 53 20 4c 4f 4e 47 20 32 33 32 29 0a 0a  ATUS LONG 232)..
ac90: 09 09 09 09 09 3b 20 53 65 74 20 69 66 20 77 65  .....; Set if we
aca0: 20 73 68 6f 75 6c 64 20 65 6e 61 62 6c 65 20 54   should enable T
acb0: 4c 53 20 66 61 6c 73 65 20 73 74 61 72 74 2e 20  LS false start. 
acc0: 0a 20 20 28 43 49 4e 49 54 20 53 53 4c 5f 46 41  .  (CINIT SSL_FA
acd0: 4c 53 45 53 54 41 52 54 20 4c 4f 4e 47 20 32 33  LSESTART LONG 23
ace0: 33 29 0a 0a 09 09 09 09 09 3b 20 44 6f 20 6e 6f  3).......; Do no
acf0: 74 20 73 71 75 61 73 68 20 64 6f 74 2d 64 6f 74  t squash dot-dot
ad00: 20 73 65 71 75 65 6e 63 65 73 20 0a 20 20 28 43   sequences .  (C
ad10: 49 4e 49 54 20 50 41 54 48 5f 41 53 5f 49 53 20  INIT PATH_AS_IS 
ad20: 4c 4f 4e 47 20 32 33 34 29 0a 0a 09 09 09 09 09  LONG 234).......
ad30: 3b 20 50 72 6f 78 79 20 53 65 72 76 69 63 65 20  ; Proxy Service 
ad40: 4e 61 6d 65 20 0a 20 20 28 43 49 4e 49 54 20 50  Name .  (CINIT P
ad50: 52 4f 58 59 5f 53 45 52 56 49 43 45 5f 4e 41 4d  ROXY_SERVICE_NAM
ad60: 45 20 53 54 52 49 4e 47 50 4f 49 4e 54 20 32 33  E STRINGPOINT 23
ad70: 35 29 0a 0a 09 09 09 09 09 3b 20 53 65 72 76 69  5).......; Servi
ad80: 63 65 20 4e 61 6d 65 20 0a 20 20 28 43 49 4e 49  ce Name .  (CINI
ad90: 54 20 53 45 52 56 49 43 45 5f 4e 41 4d 45 20 53  T SERVICE_NAME S
ada0: 54 52 49 4e 47 50 4f 49 4e 54 20 32 33 36 29 0a  TRINGPOINT 236).
adb0: 0a 09 09 09 09 09 3b 20 57 61 69 74 2f 64 6f 6e  ......; Wait/don
adc0: 27 74 20 77 61 69 74 20 66 6f 72 20 70 69 70 65  't wait for pipe
add0: 2f 6d 75 74 65 78 20 74 6f 20 63 6c 61 72 69 66  /mutex to clarif
ade0: 79 20 0a 20 20 28 43 49 4e 49 54 20 50 49 50 45  y .  (CINIT PIPE
adf0: 57 41 49 54 20 4c 4f 4e 47 20 32 33 37 29 0a 0a  WAIT LONG 237)..
ae00: 09 09 09 09 09 3b 20 53 65 74 20 74 68 65 20 70  .....; Set the p
ae10: 72 6f 74 6f 63 6f 6c 20 75 73 65 64 20 77 68 65  rotocol used whe
ae20: 6e 20 63 75 72 6c 20 69 73 20 67 69 76 65 6e 20  n curl is given 
ae30: 61 20 55 52 4c 20 77 69 74 68 6f 75 74 20 61 20  a URL without a 
ae40: 70 72 6f 74 6f 63 6f 6c 20 0a 20 20 28 43 49 4e  protocol .  (CIN
ae50: 49 54 20 44 45 46 41 55 4c 54 5f 50 52 4f 54 4f  IT DEFAULT_PROTO
ae60: 43 4f 4c 20 53 54 52 49 4e 47 50 4f 49 4e 54 20  COL STRINGPOINT 
ae70: 32 33 38 29 0a 0a 09 09 09 09 09 3b 20 53 65 74  238).......; Set
ae80: 20 73 74 72 65 61 6d 20 77 65 69 67 68 74 20 31   stream weight 1
ae90: 20 2d 20 32 35 36 20 28 64 65 66 61 75 6c 74 20   - 256 (default 
aea0: 69 73 20 31 36 29 20 0a 20 20 28 43 49 4e 49 54  is 16) .  (CINIT
aeb0: 20 53 54 52 45 41 4d 5f 57 45 49 47 48 54 20 4c   STREAM_WEIGHT L
aec0: 4f 4e 47 20 32 33 39 29 0a 0a 09 09 09 09 09 3b  ONG 239).......;
aed0: 20 53 65 74 20 73 74 72 65 61 6d 20 64 65 70 65   Set stream depe
aee0: 6e 64 65 6e 63 79 20 6f 6e 20 61 6e 6f 74 68 65  ndency on anothe
aef0: 72 20 43 55 52 4c 20 68 61 6e 64 6c 65 20 0a 20  r CURL handle . 
af00: 20 28 43 49 4e 49 54 20 53 54 52 45 41 4d 5f 44   (CINIT STREAM_D
af10: 45 50 45 4e 44 53 20 4f 42 4a 45 43 54 50 4f 49  EPENDS OBJECTPOI
af20: 4e 54 20 32 34 30 29 0a 0a 09 09 09 09 09 3b 20  NT 240).......; 
af30: 53 65 74 20 45 2d 78 63 6c 75 73 69 76 65 20 73  Set E-xclusive s
af40: 74 72 65 61 6d 20 64 65 70 65 6e 64 65 6e 63 79  tream dependency
af50: 20 6f 6e 20 61 6e 6f 74 68 65 72 20 43 55 52 4c   on another CURL
af60: 20 68 61 6e 64 6c 65 20 0a 20 20 28 43 49 4e 49   handle .  (CINI
af70: 54 20 53 54 52 45 41 4d 5f 44 45 50 45 4e 44 53  T STREAM_DEPENDS
af80: 5f 45 20 4f 42 4a 45 43 54 50 4f 49 4e 54 20 32  _E OBJECTPOINT 2
af90: 34 31 29 0a 0a 09 09 09 09 09 3b 20 44 6f 20 6e  41).......; Do n
afa0: 6f 74 20 73 65 6e 64 20 61 6e 79 20 74 66 74 70  ot send any tftp
afb0: 20 6f 70 74 69 6f 6e 20 72 65 71 75 65 73 74 73   option requests
afc0: 20 74 6f 20 74 68 65 20 73 65 72 76 65 72 20 0a   to the server .
afd0: 20 20 28 43 49 4e 49 54 20 54 46 54 50 5f 4e 4f    (CINIT TFTP_NO
afe0: 5f 4f 50 54 49 4f 4e 53 20 4c 4f 4e 47 20 32 34  _OPTIONS LONG 24
aff0: 32 29 0a 0a 20 20 3b 3b 20 2f 2a 20 4c 69 6e 6b  2)..  ;; /* Link
b000: 65 64 2d 6c 69 73 74 20 6f 66 20 68 6f 73 74 3a  ed-list of host:
b010: 70 6f 72 74 3a 63 6f 6e 6e 65 63 74 2d 74 6f 2d  port:connect-to-
b020: 68 6f 73 74 3a 63 6f 6e 6e 65 63 74 2d 74 6f 2d  host:connect-to-
b030: 70 6f 72 74 2c 0a 20 20 3b 3b 20 20 20 20 6f 76  port,.  ;;    ov
b040: 65 72 72 69 64 65 73 20 74 68 65 20 55 52 4c 27  errides the URL'
b050: 73 20 68 6f 73 74 3a 70 6f 72 74 20 28 6f 6e 6c  s host:port (onl
b060: 79 20 66 6f 72 20 74 68 65 20 6e 65 74 77 6f 72  y for the networ
b070: 6b 20 6c 61 79 65 72 29 20 2a 2f 0a 20 20 28 43  k layer) */.  (C
b080: 49 4e 49 54 20 43 4f 4e 4e 45 43 54 5f 54 4f 20  INIT CONNECT_TO 
b090: 4f 42 4a 45 43 54 50 4f 49 4e 54 20 32 34 33 29  OBJECTPOINT 243)
b0a0: 0a 0a 09 09 09 09 09 3b 20 53 65 74 20 54 43 50  .......; Set TCP
b0b0: 20 46 61 73 74 20 4f 70 65 6e 20 0a 20 20 28 43   Fast Open .  (C
b0c0: 49 4e 49 54 20 54 43 50 5f 46 41 53 54 4f 50 45  INIT TCP_FASTOPE
b0d0: 4e 20 4c 4f 4e 47 20 32 34 34 29 0a 0a 20 20 28  N LONG 244)..  (
b0e0: 64 65 66 69 6e 65 20 43 55 52 4c 5f 47 4c 4f 42  define CURL_GLOB
b0f0: 41 4c 5f 53 53 4c 20 31 29 0a 20 20 28 64 65 66  AL_SSL 1).  (def
b100: 69 6e 65 20 43 55 52 4c 5f 47 4c 4f 42 41 4c 5f  ine CURL_GLOBAL_
b110: 57 49 4e 33 32 20 32 29 0a 20 20 28 64 65 66 69  WIN32 2).  (defi
b120: 6e 65 20 43 55 52 4c 5f 47 4c 4f 42 41 4c 5f 41  ne CURL_GLOBAL_A
b130: 4c 4c 20 28 6c 6f 67 69 6f 72 20 43 55 52 4c 5f  LL (logior CURL_
b140: 47 4c 4f 42 41 4c 5f 53 53 4c 20 43 55 52 4c 5f  GLOBAL_SSL CURL_
b150: 47 4c 4f 42 41 4c 5f 57 49 4e 33 32 29 29 0a 20  GLOBAL_WIN32)). 
b160: 20 28 64 65 66 69 6e 65 20 43 55 52 4c 5f 47 4c   (define CURL_GL
b170: 4f 42 41 4c 5f 4e 4f 54 48 49 4e 47 20 30 29 0a  OBAL_NOTHING 0).
b180: 20 20 28 64 65 66 69 6e 65 20 43 55 52 4c 5f 47    (define CURL_G
b190: 4c 4f 42 41 4c 5f 44 45 46 41 55 4c 54 20 43 55  LOBAL_DEFAULT CU
b1a0: 52 4c 5f 47 4c 4f 42 41 4c 5f 41 4c 4c 29 0a 20  RL_GLOBAL_ALL). 
b1b0: 20 28 64 65 66 69 6e 65 20 43 55 52 4c 5f 47 4c   (define CURL_GL
b1c0: 4f 42 41 4c 5f 41 43 4b 5f 45 49 4e 54 52 20 34  OBAL_ACK_EINTR 4
b1d0: 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 43 55 52  )..  (define CUR
b1e0: 4c 46 54 50 5f 43 52 45 41 54 45 5f 44 49 52 5f  LFTP_CREATE_DIR_
b1f0: 4e 4f 4e 45 20 30 29 0a 20 20 28 64 65 66 69 6e  NONE 0).  (defin
b200: 65 20 43 55 52 4c 46 54 50 5f 43 52 45 41 54 45  e CURLFTP_CREATE
b210: 5f 44 49 52 20 31 29 0a 20 20 28 64 65 66 69 6e  _DIR 1).  (defin
b220: 65 20 43 55 52 4c 46 54 50 5f 43 52 45 41 54 45  e CURLFTP_CREATE
b230: 5f 44 49 52 5f 52 45 54 52 59 20 32 29 0a 0a 20  _DIR_RETRY 2).. 
b240: 20 28 64 65 66 69 6e 65 20 63 75 72 6c 2d 65 61   (define curl-ea
b250: 73 79 2d 69 6e 69 74 20 28 66 6f 72 65 69 67 6e  sy-init (foreign
b260: 2d 70 72 6f 63 65 64 75 72 65 20 22 63 75 72 6c  -procedure "curl
b270: 5f 65 61 73 79 5f 69 6e 69 74 22 20 28 29 20 28  _easy_init" () (
b280: 2a 20 43 55 52 4c 29 29 29 0a 20 20 28 64 65 66  * CURL))).  (def
b290: 69 6e 65 20 63 75 72 6c 2d 65 61 73 79 2d 63 6c  ine curl-easy-cl
b2a0: 65 61 6e 75 70 20 28 66 6f 72 65 69 67 6e 2d 70  eanup (foreign-p
b2b0: 72 6f 63 65 64 75 72 65 20 22 63 75 72 6c 5f 65  rocedure "curl_e
b2c0: 61 73 79 5f 63 6c 65 61 6e 75 70 22 20 28 28 2a  asy_cleanup" ((*
b2d0: 20 43 55 52 4c 29 29 20 76 6f 69 64 20 29 29 0a   CURL)) void )).
b2e0: 0a 20 20 28 64 65 66 69 6e 65 2d 66 74 79 70 65  .  (define-ftype
b2f0: 20 63 75 72 6c 5f 73 6c 69 73 74 0a 20 20 20 20   curl_slist.    
b300: 28 73 74 72 75 63 74 0a 20 20 20 20 20 5b 64 61  (struct.     [da
b310: 74 61 20 28 2a 20 63 68 61 72 29 5d 0a 20 20 20  ta (* char)].   
b320: 20 20 5b 6e 65 78 74 20 28 2a 20 63 75 72 6c 5f    [next (* curl_
b330: 73 6c 69 73 74 29 5d 29 29 0a 0a 20 20 28 64 65  slist)]))..  (de
b340: 66 69 6e 65 2d 66 74 79 70 65 20 63 75 72 6c 5f  fine-ftype curl_
b350: 6f 66 66 5f 74 20 69 6e 74 65 67 65 72 2d 36 34  off_t integer-64
b360: 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 63 75 72  )..  (define cur
b370: 6c 2d 73 6c 69 73 74 2d 61 70 70 65 6e 64 20 28  l-slist-append (
b380: 66 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 75 72  foreign-procedur
b390: 65 20 22 63 75 72 6c 5f 73 6c 69 73 74 5f 61 70  e "curl_slist_ap
b3a0: 70 65 6e 64 22 20 28 28 2a 20 63 75 72 6c 5f 73  pend" ((* curl_s
b3b0: 6c 69 73 74 29 20 75 74 66 2d 38 29 20 28 2a 20  list) utf-8) (* 
b3c0: 63 75 72 6c 5f 73 6c 69 73 74 29 29 29 0a 20 20  curl_slist))).  
b3d0: 28 64 65 66 69 6e 65 20 63 75 72 6c 2d 73 6c 69  (define curl-sli
b3e0: 73 74 2d 66 72 65 65 2d 61 6c 6c 20 28 66 6f 72  st-free-all (for
b3f0: 65 69 67 6e 2d 70 72 6f 63 65 64 75 72 65 20 22  eign-procedure "
b400: 63 75 72 6c 5f 73 6c 69 73 74 5f 66 72 65 65 5f  curl_slist_free_
b410: 61 6c 6c 22 20 28 28 2a 20 63 75 72 6c 5f 73 6c  all" ((* curl_sl
b420: 69 73 74 29 29 20 76 6f 69 64 29 29 0a 20 20 28  ist)) void)).  (
b430: 64 65 66 69 6e 65 20 63 75 72 6c 2d 65 61 73 79  define curl-easy
b440: 2d 73 65 74 6f 70 74 2f 6c 6f 6e 67 20 28 66 6f  -setopt/long (fo
b450: 72 65 69 67 6e 2d 70 72 6f 63 65 64 75 72 65 20  reign-procedure 
b460: 22 63 75 72 6c 5f 65 61 73 79 5f 73 65 74 6f 70  "curl_easy_setop
b470: 74 22 20 28 28 2a 20 43 55 52 4c 29 20 43 55 52  t" ((* CURL) CUR
b480: 4c 6f 70 74 69 6f 6e 20 6c 6f 6e 67 29 20 43 55  Loption long) CU
b490: 52 4c 63 6f 64 65 2d 74 29 20 29 0a 20 20 28 64  RLcode-t) ).  (d
b4a0: 65 66 69 6e 65 20 63 75 72 6c 2d 65 61 73 79 2d  efine curl-easy-
b4b0: 73 65 74 6f 70 74 2f 73 74 72 69 6e 67 20 28 66  setopt/string (f
b4c0: 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 75 72 65  oreign-procedure
b4d0: 20 22 63 75 72 6c 5f 65 61 73 79 5f 73 65 74 6f   "curl_easy_seto
b4e0: 70 74 22 20 28 28 2a 20 43 55 52 4c 29 20 43 55  pt" ((* CURL) CU
b4f0: 52 4c 6f 70 74 69 6f 6e 20 75 74 66 2d 38 29 20  RLoption utf-8) 
b500: 43 55 52 4c 63 6f 64 65 2d 74 29 29 0a 20 20 28  CURLcode-t)).  (
b510: 64 65 66 69 6e 65 20 63 75 72 6c 2d 65 61 73 79  define curl-easy
b520: 2d 73 65 74 6f 70 74 2f 6f 62 6a 65 63 74 20 28  -setopt/object (
b530: 66 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 75 72  foreign-procedur
b540: 65 20 22 63 75 72 6c 5f 65 61 73 79 5f 73 65 74  e "curl_easy_set
b550: 6f 70 74 22 20 28 28 2a 20 43 55 52 4c 29 20 43  opt" ((* CURL) C
b560: 55 52 4c 6f 70 74 69 6f 6e 20 76 6f 69 64 2a 29  URLoption void*)
b570: 20 43 55 52 4c 63 6f 64 65 2d 74 29 29 0a 20 20   CURLcode-t)).  
b580: 28 64 65 66 69 6e 65 20 63 75 72 6c 2d 65 61 73  (define curl-eas
b590: 79 2d 73 65 74 6f 70 74 2f 73 63 68 65 6d 65 2d  y-setopt/scheme-
b5a0: 6f 62 6a 65 63 74 20 28 66 6f 72 65 69 67 6e 2d  object (foreign-
b5b0: 70 72 6f 63 65 64 75 72 65 20 22 63 75 72 6c 5f  procedure "curl_
b5c0: 65 61 73 79 5f 73 65 74 6f 70 74 22 20 28 28 2a  easy_setopt" ((*
b5d0: 20 43 55 52 4c 29 20 43 55 52 4c 6f 70 74 69 6f   CURL) CURLoptio
b5e0: 6e 20 73 63 68 65 6d 65 2d 6f 62 6a 65 63 74 29  n scheme-object)
b5f0: 20 43 55 52 4c 63 6f 64 65 2d 74 29 29 0a 20 20   CURLcode-t)).  
b600: 28 64 65 66 69 6e 65 20 63 75 72 6c 2d 65 61 73  (define curl-eas
b610: 79 2d 73 65 74 6f 70 74 2f 6f 66 66 73 65 74 20  y-setopt/offset 
b620: 28 66 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 75  (foreign-procedu
b630: 72 65 20 22 63 75 72 6c 5f 65 61 73 79 5f 73 65  re "curl_easy_se
b640: 74 6f 70 74 22 20 28 28 2a 20 43 55 52 4c 29 20  topt" ((* CURL) 
b650: 43 55 52 4c 6f 70 74 69 6f 6e 20 63 75 72 6c 5f  CURLoption curl_
b660: 6f 66 66 5f 74 29 20 43 55 52 4c 63 6f 64 65 2d  off_t) CURLcode-
b670: 74 29 29 0a 20 20 28 64 65 66 69 6e 65 20 63 75  t)).  (define cu
b680: 72 6c 2d 65 61 73 79 2d 73 65 74 6f 70 74 2f 66  rl-easy-setopt/f
b690: 75 6e 63 74 69 6f 6e 20 28 66 6f 72 65 69 67 6e  unction (foreign
b6a0: 2d 70 72 6f 63 65 64 75 72 65 20 22 63 75 72 6c  -procedure "curl
b6b0: 5f 65 61 73 79 5f 73 65 74 6f 70 74 22 20 28 28  _easy_setopt" ((
b6c0: 2a 20 43 55 52 4c 29 20 43 55 52 4c 6f 70 74 69  * CURL) CURLopti
b6d0: 6f 6e 20 76 6f 69 64 2a 29 20 43 55 52 4c 63 6f  on void*) CURLco
b6e0: 64 65 2d 74 29 29 0a 0a 0a 20 20 28 64 65 66 69  de-t))...  (defi
b6f0: 6e 65 20 63 75 72 6c 2d 67 6c 6f 62 61 6c 2d 69  ne curl-global-i
b700: 6e 69 74 20 28 66 6f 72 65 69 67 6e 2d 70 72 6f  nit (foreign-pro
b710: 63 65 64 75 72 65 20 22 63 75 72 6c 5f 67 6c 6f  cedure "curl_glo
b720: 62 61 6c 5f 69 6e 69 74 22 20 28 6c 6f 6e 67 29  bal_init" (long)
b730: 20 43 55 52 4c 63 6f 64 65 2d 74 29 29 0a 0a 20   CURLcode-t)).. 
b740: 20 28 64 65 66 69 6e 65 20 28 63 75 72 6c 2d 65   (define (curl-e
b750: 61 73 79 2d 70 65 72 66 6f 72 6d 20 63 75 72 6c  asy-perform curl
b760: 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 66 20  ).    (define f 
b770: 28 66 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 75  (foreign-procedu
b780: 72 65 20 22 63 75 72 6c 5f 65 61 73 79 5f 70 65  re "curl_easy_pe
b790: 72 66 6f 72 6d 22 20 28 28 2a 20 43 55 52 4c 29  rform" ((* CURL)
b7a0: 29 20 43 55 52 4c 63 6f 64 65 2d 74 29 29 0a 20  ) CURLcode-t)). 
b7b0: 20 20 20 28 64 65 66 69 6e 65 20 72 20 28 66 20     (define r (f 
b7c0: 63 75 72 6c 29 29 0a 20 20 20 20 28 75 6e 6c 65  curl)).    (unle
b7d0: 73 73 20 28 3d 20 72 20 28 43 55 52 4c 63 6f 64  ss (= r (CURLcod
b7e0: 65 20 27 43 55 52 4c 45 5f 4f 4b 29 29 0a 20 20  e 'CURLE_OK)).  
b7f0: 20 20 20 20 28 65 72 72 6f 72 20 27 63 75 72 6c      (error 'curl
b800: 2d 65 61 73 79 2d 70 65 72 66 6f 72 6d 20 22 66  -easy-perform "f
b810: 61 69 6c 65 64 22 20 28 43 55 52 4c 63 6f 64 65  ailed" (CURLcode
b820: 2d 72 65 66 20 72 29 29 29 29 0a 0a 20 20 28 64  -ref r))))..  (d
b830: 65 66 69 6e 65 2d 66 74 79 70 65 20 63 75 72 6c  efine-ftype curl
b840: 2d 72 65 61 64 2d 63 61 6c 6c 62 61 63 6b 20 28  -read-callback (
b850: 66 75 6e 63 74 69 6f 6e 20 28 76 6f 69 64 2a 20  function (void* 
b860: 73 69 7a 65 5f 74 20 73 69 7a 65 5f 74 20 73 63  size_t size_t sc
b870: 68 65 6d 65 2d 6f 62 6a 65 63 74 29 20 73 69 7a  heme-object) siz
b880: 65 5f 74 29 29 0a 20 20 28 64 65 66 69 6e 65 2d  e_t)).  (define-
b890: 66 74 79 70 65 20 63 75 72 6c 2d 77 72 69 74 65  ftype curl-write
b8a0: 2d 63 61 6c 6c 62 61 63 6b 20 28 66 75 6e 63 74  -callback (funct
b8b0: 69 6f 6e 20 28 75 38 2a 20 73 69 7a 65 5f 74 20  ion (u8* size_t 
b8c0: 73 69 7a 65 5f 74 20 73 63 68 65 6d 65 2d 6f 62  size_t scheme-ob
b8d0: 6a 65 63 74 29 20 73 69 7a 65 5f 74 29 29 0a 0a  ject) size_t))..
b8e0: 20 20 0a 20 20 29 20 3b 6c 69 62 72 61 72 79 20    .  ) ;library 
b8f0: 63 75 72 6c 0a 20 20 0a                          curl.  .