Changeset 6da9b23 in rtems-libbsd


Ignore:
Timestamp:
Oct 30, 2013, 2:42:53 PM (6 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, afaeccc05a556f6aa25ba044a7e49d6aa634a59e, freebsd-9.3, master
Children:
a3d804a
Parents:
5898fa1
git-author:
Sebastian Huber <sebastian.huber@…> (10/30/13 14:42:53)
git-committer:
Sebastian Huber <sebastian.huber@…> (10/31/13 12:18:54)
Message:

NETSTAT(1): Initialize global variables

Use BSD program lock.

Location:
freebsd/usr.bin/netstat
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • freebsd/usr.bin/netstat/inet.c

    r5898fa1 r6da9b23  
    307307{
    308308        int istcp;
    309         static int first = 1;
    310309        char *buf;
    311310        const char *vchar;
     
    395394                        continue;
    396395
    397                 if (first) {
     396                if (!protopr_initialized) {
    398397                        if (!Lflag) {
    399398                                printf("Active Internet connections");
     
    425424                                        printf("(state)\n");
    426425                        }
    427                         first = 0;
     426                        protopr_initialized = 1;
    428427                }
    429428                if (Lflag && so->so_qlimit == 0)
     
    914913
    915914
    916 static  const char *icmpnames[ICMP_MAXTYPE + 1] = {
     915static  const char *const icmpnames[ICMP_MAXTYPE + 1] = {
    917916        "echo reply",                   /* RFC 792 */
    918917        "#1",
  • freebsd/usr.bin/netstat/main.c

    r5898fa1 r6da9b23  
    365365
    366366#ifdef __rtems__
     367int     protopr_initialized;
     368int     do_rtent;
     369struct  radix_node_head **rt_tables;
     370
    367371static int main(int argc, char *argv[]);
    368372
    369373int rtems_bsd_command_netstat(int argc, char *argv[])
    370374{
    371   noutputs = 0;
    372 
    373   return rtems_bsd_program_call_main("netstat", main, argc, argv);
     375        int exit_code;
     376
     377        rtems_bsd_program_lock();
     378
     379        Aflag = 0;
     380        aflag = 0;
     381        bflag = 0;
     382        dflag = 0;
     383        gflag = 0;
     384        hflag = 0;
     385        iflag = 0;
     386        Lflag = 0;
     387        mflag = 0;
     388        noutputs = 0;
     389        numeric_addr = 0;
     390        numeric_port = 0;
     391        pflag = 0;
     392        rflag = 0;
     393        sflag = 0;
     394        tflag = 0;
     395        Wflag = 0;
     396        xflag = 0;
     397        zflag = 0;
     398        interval = 0;
     399        interface = 0;
     400        unit = 0;
     401        af = 0;
     402        live = 0;
     403
     404        protopr_initialized = 0;
     405        do_rtent = 0;
     406
     407        exit_code = rtems_bsd_program_call_main("netstat", main, argc, argv);
     408
     409        free(rt_tables);
     410        rt_tables = NULL;
     411
     412        rtems_bsd_program_unlock();
     413
     414        return exit_code;
    374415}
    375416#endif /* __rtems__ */
  • freebsd/usr.bin/netstat/netstat.h

    r5898fa1 r6da9b23  
    3737#include <sys/cdefs.h>
    3838
     39#ifdef __rtems__
     40#define rt_tables netstat_rt_tables
     41#define routename rtems_shell_netstats_routername
     42#define netname rtems_shell_netstats_netname
     43#define sotoxsocket rtems_shell_netstats_sotoxsocket
     44#endif /* __rtems__ */
    3945extern int      Aflag;  /* show addresses of protocol control block */
    4046extern int      aflag;  /* show all sockets (including servers) */
     
    6369extern int      af;     /* address family */
    6470extern int      live;   /* true if we are examining a live system */
     71#ifdef __rtems__
     72extern int      protopr_initialized;
     73extern int      do_rtent;
     74extern struct   radix_node_head **rt_tables;
     75#endif /* __rtems__ */
    6576
    6677int     kread(u_long addr, void *buf, size_t size);
     
    127138void    upHex(char *);
    128139
    129 #ifdef __rtems__
    130 #define rt_tables netstat_rt_tables
    131 #define routename rtems_shell_netstats_routername
    132 #define netname rtems_shell_netstats_netname
    133 #define sotoxsocket rtems_shell_netstats_sotoxsocket
    134 #endif
    135 
    136140char    *routename(in_addr_t);
    137141char    *netname(in_addr_t, u_long);
  • freebsd/usr.bin/netstat/route.c

    r5898fa1 r6da9b23  
    127127static sa_u pt_u;
    128128
    129 int     fibnum;
    130 int     do_rtent = 0;
    131 struct  rtentry rtentry;
    132 struct  radix_node rnode;
    133 struct  radix_mask rmask;
    134 struct  radix_node_head **rt_tables;
    135 
    136 int     NewTree = 0;
    137 
    138 struct  timespec uptime;
     129static int      fibnum;
     130static struct   rtentry rtentry;
     131static struct   radix_node rnode;
     132static struct   radix_mask rmask;
     133
     134static const int        NewTree = 0;
     135
     136static struct   timespec uptime;
    139137
    140138static struct sockaddr *kgetsa(struct sockaddr *);
     
    494492}
    495493
    496 char    nbuf[20];
     494static char     nbuf[20];
    497495
    498496static void
Note: See TracChangeset for help on using the changeset viewer.