1*6236dae4SAndroid Build Coastguard Worker#!/usr/bin/env perl 2*6236dae4SAndroid Build Coastguard Worker 3*6236dae4SAndroid Build Coastguard Workerprint <<HEAD 4*6236dae4SAndroid Build Coastguard Worker/*************************************************************************** 5*6236dae4SAndroid Build Coastguard Worker * _ _ ____ _ 6*6236dae4SAndroid Build Coastguard Worker * Project ___| | | | _ \\| | 7*6236dae4SAndroid Build Coastguard Worker * / __| | | | |_) | | 8*6236dae4SAndroid Build Coastguard Worker * | (__| |_| | _ <| |___ 9*6236dae4SAndroid Build Coastguard Worker * \\___|\\___/|_| \\_\\_____| 10*6236dae4SAndroid Build Coastguard Worker * 11*6236dae4SAndroid Build Coastguard Worker * Copyright (C) Daniel Stenberg, <daniel\@haxx.se>, et al. 12*6236dae4SAndroid Build Coastguard Worker * 13*6236dae4SAndroid Build Coastguard Worker * This software is licensed as described in the file COPYING, which 14*6236dae4SAndroid Build Coastguard Worker * you should have received as part of this distribution. The terms 15*6236dae4SAndroid Build Coastguard Worker * are also available at https://curl.se/docs/copyright.html. 16*6236dae4SAndroid Build Coastguard Worker * 17*6236dae4SAndroid Build Coastguard Worker * You may opt to use, copy, modify, merge, publish, distribute and/or sell 18*6236dae4SAndroid Build Coastguard Worker * copies of the Software, and permit persons to whom the Software is 19*6236dae4SAndroid Build Coastguard Worker * furnished to do so, under the terms of the COPYING file. 20*6236dae4SAndroid Build Coastguard Worker * 21*6236dae4SAndroid Build Coastguard Worker * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 22*6236dae4SAndroid Build Coastguard Worker * KIND, either express or implied. 23*6236dae4SAndroid Build Coastguard Worker * 24*6236dae4SAndroid Build Coastguard Worker * SPDX-License-Identifier: curl 25*6236dae4SAndroid Build Coastguard Worker * 26*6236dae4SAndroid Build Coastguard Worker ***************************************************************************/ 27*6236dae4SAndroid Build Coastguard Worker 28*6236dae4SAndroid Build Coastguard Worker/* This source code is generated by optiontable.pl - DO NOT EDIT BY HAND */ 29*6236dae4SAndroid Build Coastguard Worker 30*6236dae4SAndroid Build Coastguard Worker#include "curl_setup.h" 31*6236dae4SAndroid Build Coastguard Worker#include "easyoptions.h" 32*6236dae4SAndroid Build Coastguard Worker 33*6236dae4SAndroid Build Coastguard Worker/* all easy setopt options listed in alphabetical order */ 34*6236dae4SAndroid Build Coastguard Workerstruct curl_easyoption Curl_easyopts[] = { 35*6236dae4SAndroid Build Coastguard WorkerHEAD 36*6236dae4SAndroid Build Coastguard Worker ; 37*6236dae4SAndroid Build Coastguard Worker 38*6236dae4SAndroid Build Coastguard Workermy $lastnum=0; 39*6236dae4SAndroid Build Coastguard Worker 40*6236dae4SAndroid Build Coastguard Workersub add { 41*6236dae4SAndroid Build Coastguard Worker my($opt, $type, $num)=@_; 42*6236dae4SAndroid Build Coastguard Worker my $name; 43*6236dae4SAndroid Build Coastguard Worker # remove all spaces from the type 44*6236dae4SAndroid Build Coastguard Worker $type =~ s/ //g; 45*6236dae4SAndroid Build Coastguard Worker my $ext = $type; 46*6236dae4SAndroid Build Coastguard Worker 47*6236dae4SAndroid Build Coastguard Worker if($opt =~ /OBSOLETE/) { 48*6236dae4SAndroid Build Coastguard Worker # skip obsolete options 49*6236dae4SAndroid Build Coastguard Worker next; 50*6236dae4SAndroid Build Coastguard Worker } 51*6236dae4SAndroid Build Coastguard Worker 52*6236dae4SAndroid Build Coastguard Worker if($opt =~ /^CURLOPT_(.*)/) { 53*6236dae4SAndroid Build Coastguard Worker $name=$1; 54*6236dae4SAndroid Build Coastguard Worker } 55*6236dae4SAndroid Build Coastguard Worker $ext =~ s/CURLOPTTYPE_//; 56*6236dae4SAndroid Build Coastguard Worker $ext =~ s/CBPOINT/CBPTR/; 57*6236dae4SAndroid Build Coastguard Worker $ext =~ s/POINT\z//; 58*6236dae4SAndroid Build Coastguard Worker $type = "CURLOT_$ext"; 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard Worker $opt{$name} = $opt; 61*6236dae4SAndroid Build Coastguard Worker $type{$name} = $type; 62*6236dae4SAndroid Build Coastguard Worker push @names, $name; 63*6236dae4SAndroid Build Coastguard Worker if($num < $lastnum) { 64*6236dae4SAndroid Build Coastguard Worker print STDERR "ERROR: $opt has bad number: $num < $lastnum\n"; 65*6236dae4SAndroid Build Coastguard Worker exit 2; 66*6236dae4SAndroid Build Coastguard Worker } 67*6236dae4SAndroid Build Coastguard Worker else { 68*6236dae4SAndroid Build Coastguard Worker $lastnum = $num; 69*6236dae4SAndroid Build Coastguard Worker } 70*6236dae4SAndroid Build Coastguard Worker} 71*6236dae4SAndroid Build Coastguard Worker 72*6236dae4SAndroid Build Coastguard Worker 73*6236dae4SAndroid Build Coastguard Workermy $fl; 74*6236dae4SAndroid Build Coastguard Workerwhile(<STDIN>) { 75*6236dae4SAndroid Build Coastguard Worker my $l = $_; 76*6236dae4SAndroid Build Coastguard Worker if($fl) { 77*6236dae4SAndroid Build Coastguard Worker # continued deprecation 78*6236dae4SAndroid Build Coastguard Worker if($l =~ /(.*)\),/) { 79*6236dae4SAndroid Build Coastguard Worker $fl .= $1; 80*6236dae4SAndroid Build Coastguard Worker 81*6236dae4SAndroid Build Coastguard Worker # the end 82*6236dae4SAndroid Build Coastguard Worker my @p=split(/, */, $fl); 83*6236dae4SAndroid Build Coastguard Worker add($p[0], $p[1], $p[2]); 84*6236dae4SAndroid Build Coastguard Worker undef $fl; 85*6236dae4SAndroid Build Coastguard Worker } 86*6236dae4SAndroid Build Coastguard Worker else { 87*6236dae4SAndroid Build Coastguard Worker # another line to append 88*6236dae4SAndroid Build Coastguard Worker chomp $l; 89*6236dae4SAndroid Build Coastguard Worker $fl .= $l; 90*6236dae4SAndroid Build Coastguard Worker } 91*6236dae4SAndroid Build Coastguard Worker } 92*6236dae4SAndroid Build Coastguard Worker 93*6236dae4SAndroid Build Coastguard Worker if(/^ *CURLOPTDEPRECATED\((.*)/) { 94*6236dae4SAndroid Build Coastguard Worker $fl = $1; 95*6236dae4SAndroid Build Coastguard Worker chomp $fl; 96*6236dae4SAndroid Build Coastguard Worker } 97*6236dae4SAndroid Build Coastguard Worker 98*6236dae4SAndroid Build Coastguard Worker if(/^ *CURLOPT\(([^,]*), ([^,]*), (\d+)\)/) { 99*6236dae4SAndroid Build Coastguard Worker my($opt, $type, $num)=($1,$2,$3); 100*6236dae4SAndroid Build Coastguard Worker add($opt, $type, $num); 101*6236dae4SAndroid Build Coastguard Worker } 102*6236dae4SAndroid Build Coastguard Worker 103*6236dae4SAndroid Build Coastguard Worker # alias for an older option 104*6236dae4SAndroid Build Coastguard Worker # old = new 105*6236dae4SAndroid Build Coastguard Worker if(/^#define (CURLOPT_[^ ]*) *(CURLOPT_\S*)/) { 106*6236dae4SAndroid Build Coastguard Worker my ($o, $n)=($1, $2); 107*6236dae4SAndroid Build Coastguard Worker # skip obsolete ones 108*6236dae4SAndroid Build Coastguard Worker if(($n !~ /OBSOLETE/) && ($o !~ /OBSOLETE/)) { 109*6236dae4SAndroid Build Coastguard Worker $o =~ s/^CURLOPT_//; 110*6236dae4SAndroid Build Coastguard Worker $n =~ s/^CURLOPT_//; 111*6236dae4SAndroid Build Coastguard Worker $alias{$o} = $n; 112*6236dae4SAndroid Build Coastguard Worker push @names, $o, 113*6236dae4SAndroid Build Coastguard Worker } 114*6236dae4SAndroid Build Coastguard Worker } 115*6236dae4SAndroid Build Coastguard Worker} 116*6236dae4SAndroid Build Coastguard Worker 117*6236dae4SAndroid Build Coastguard Worker 118*6236dae4SAndroid Build Coastguard Workerfor my $name (sort @names) { 119*6236dae4SAndroid Build Coastguard Worker my $oname = $name; 120*6236dae4SAndroid Build Coastguard Worker my $a = $alias{$name}; 121*6236dae4SAndroid Build Coastguard Worker my $flag = "0"; 122*6236dae4SAndroid Build Coastguard Worker if($a) { 123*6236dae4SAndroid Build Coastguard Worker $name = $alias{$name}; 124*6236dae4SAndroid Build Coastguard Worker $flag = "CURLOT_FLAG_ALIAS"; 125*6236dae4SAndroid Build Coastguard Worker } 126*6236dae4SAndroid Build Coastguard Worker $o = sprintf(" {\"%s\", %s, %s, %s},\n", 127*6236dae4SAndroid Build Coastguard Worker $oname, $opt{$name}, $type{$name}, $flag); 128*6236dae4SAndroid Build Coastguard Worker if(length($o) < 80) { 129*6236dae4SAndroid Build Coastguard Worker print $o; 130*6236dae4SAndroid Build Coastguard Worker } 131*6236dae4SAndroid Build Coastguard Worker else { 132*6236dae4SAndroid Build Coastguard Worker printf(" {\"%s\", %s,\n %s, %s},\n", 133*6236dae4SAndroid Build Coastguard Worker $oname, $opt{$name}, $type{$name}, $flag); 134*6236dae4SAndroid Build Coastguard Worker } 135*6236dae4SAndroid Build Coastguard Worker} 136*6236dae4SAndroid Build Coastguard Worker 137*6236dae4SAndroid Build Coastguard Workerprint <<FOOT 138*6236dae4SAndroid Build Coastguard Worker {NULL, CURLOPT_LASTENTRY, CURLOT_LONG, 0} /* end of table */ 139*6236dae4SAndroid Build Coastguard Worker}; 140*6236dae4SAndroid Build Coastguard Worker 141*6236dae4SAndroid Build Coastguard Worker#ifdef DEBUGBUILD 142*6236dae4SAndroid Build Coastguard Worker/* 143*6236dae4SAndroid Build Coastguard Worker * Curl_easyopts_check() is a debug-only function that returns non-zero 144*6236dae4SAndroid Build Coastguard Worker * if this source file is not in sync with the options listed in curl/curl.h 145*6236dae4SAndroid Build Coastguard Worker */ 146*6236dae4SAndroid Build Coastguard Workerint Curl_easyopts_check(void) 147*6236dae4SAndroid Build Coastguard Worker{ 148*6236dae4SAndroid Build Coastguard Worker return ((CURLOPT_LASTENTRY%10000) != ($lastnum + 1)); 149*6236dae4SAndroid Build Coastguard Worker} 150*6236dae4SAndroid Build Coastguard Worker#endif 151*6236dae4SAndroid Build Coastguard WorkerFOOT 152*6236dae4SAndroid Build Coastguard Worker ; 153