1e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#!/usr/bin/env perl
2e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#***************************************************************************
3e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#                                  _   _ ____  _
4e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#  Project                     ___| | | |  _ \| |
5e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#                             / __| | | | |_) | |
6e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#                            | (__| |_| |  _ <| |___
7e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#                             \___|\___/|_| \_\_____|
8e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#
9e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# Copyright (C) 2010-2015, Daniel Stenberg, <daniel@haxx.se>, et al.
10e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#
11e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# This software is licensed as described in the file COPYING, which
12e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# you should have received as part of this distribution. The terms
138f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo# are also available at https://curl.haxx.se/docs/copyright.html.
14e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#
15e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# You may opt to use, copy, modify, merge, publish, distribute and/or sell
16e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# copies of the Software, and permit persons to whom the Software is
17e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# furnished to do so, under the terms of the COPYING file.
18e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#
19e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# KIND, either express or implied.
21e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#
22e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET###########################################################################
23e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#
24e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#
25e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
26e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETuse strict;
27e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETuse warnings;
28e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
29e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# we may get the dir root pointed out
30e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy $root=$ARGV[0] || ".";
31e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
32e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy @incs = (
33e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "$root/include/curl/curl.h",
34e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "$root/include/curl/easy.h",
35e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "$root/include/curl/mprintf.h",
36e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "$root/include/curl/multi.h",
37e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    );
38e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
39e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy $verbose=0;
40e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy $summary=0;
41e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy $misses=0;
42e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
43e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy @syms;
44e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy %doc;
45e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETmy %rem;
46e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
47e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETsub scanheader {
48e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    my ($f)=@_;
49e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    open H, "<$f" || die;
50e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    while(<H>) {
51e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        if (/^(CURL_EXTERN.*)/) {
52e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET            print "$1\n";
53e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        }
54e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    }
55e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    close H;
56e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET}
57e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
58e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETforeach my $i (@incs) {
59e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    scanheader($i);
60e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET}
61