Changeset ecda181 in rtems-libbsd


Ignore:
Timestamp:
Dec 9, 2016, 10:51:50 AM (3 years ago)
Author:
Christian Mauderer <Christian.Mauderer@…>
Branches:
fd86c091b97759106da7355ce1dd81ebe030e285, f020f08430150c1656a0ad0a1de13699db9b980b
Children:
120caa6
Parents:
d415406
git-author:
Christian Mauderer <Christian.Mauderer@…> (12/09/16 10:51:50)
git-committer:
Christian Mauderer <Christian.Mauderer@…> (01/17/17 11:51:30)
Message:

freebsd/wlanstats: Port to FreeBSD.

Files:
5 added
8 edited

Legend:

Unmodified
Added
Removed
  • builder.py

    rd415406 recda181  
    178178            '-Ifreebsd/include',
    179179            '-Ifreebsd/lib',
     180            '-Ifreebsd/lib/libbsdstat',
    180181            '-Ifreebsd/lib/libc/include',
    181182            '-Ifreebsd/lib/libc/isc/include',
  • freebsd/tools/tools/net80211/wlanstats/main.c

    rd415406 recda181  
    11#include <machine/rtems-bsd-user-space.h>
     2
     3#ifdef __rtems__
     4#include "rtems-bsd-wlanstats-namespace.h"
     5#endif /* __rtems__ */
    26
    37/*-
     
    3741 */
    3842
     43#ifdef __rtems__
     44#define __need_getopt_newlib
     45#include <getopt.h>
     46#include <machine/rtems-bsd-program.h>
     47#include <machine/rtems-bsd-commands.h>
     48#endif /* __rtems__ */
    3949#include <rtems/bsd/sys/param.h>
    4050#include <sys/socket.h>
     
    5161
    5262#include "wlanstats.h"
    53 
     63#ifdef __rtems__
     64#include "rtems-bsd-wlanstats-main-data.h"
     65#endif /* __rtems__ */
     66
     67#ifndef __rtems__
    5468static struct {
     69#else /* __rtems__ */
     70static const struct {
     71#endif /* __rtems__ */
    5572        const char *tag;
    5673        const char *fmt;
     
    164181}
    165182
     183#ifdef __rtems__
     184static int main(int argc, char *argv[]);
     185
     186RTEMS_LINKER_RWSET(bsd_prog_wlanstats, char);
     187
     188int
     189rtems_bsd_command_wlanstats(int argc, char *argv[])
     190{
     191        int exit_code;
     192        void *data_begin;
     193        size_t data_size;
     194
     195        data_begin = RTEMS_LINKER_SET_BEGIN(bsd_prog_wlanstats);
     196        data_size = RTEMS_LINKER_SET_SIZE(bsd_prog_wlanstats);
     197
     198        rtems_bsd_program_lock();
     199        exit_code = rtems_bsd_program_call_main_with_data_restore("wlanstats",
     200            main, argc, argv, data_begin, data_size);
     201        rtems_bsd_program_unlock();
     202
     203        return exit_code;
     204}
     205#endif /* __rtems__ */
    166206int
    167207main(int argc, char *argv[])
     
    173213        int allnodes = 0;
    174214        int c, mode;
     215#ifdef __rtems__
     216        struct getopt_data getopt_data;
     217        memset(&getopt_data, 0, sizeof(getopt_data));
     218#define optind getopt_data.optind
     219#define optarg getopt_data.optarg
     220#define opterr getopt_data.opterr
     221#define optopt getopt_data.optopt
     222#define getopt(argc, argv, opt) getopt_r(argc, argv, "+" opt, &getopt_data)
     223#endif /* __rtems__ */
    175224
    176225        ifname = getenv("WLAN");
     
    235284                }
    236285                fflush(stdout);
     286#ifndef __rtems__
    237287                omask = sigblock(sigmask(SIGALRM));
    238288                if (!signalled)
    239289                        sigpause(0);
    240290                sigsetmask(omask);
     291#else /* __rtems__ */
     292                {
     293                sigset_t oldmask, desired, empty;
     294
     295                sigemptyset(&empty);
     296                sigemptyset(&desired);
     297                sigaddset(&desired, SIGALRM);
     298                sigprocmask(SIG_BLOCK, &desired, &oldmask);
     299                while (!signalled)
     300                        sigsuspend(&desired);
     301                sigprocmask(SIG_SETMASK, &oldmask, NULL);
     302                }
     303#endif /* __rtems__ */
    241304                signalled = 0;
    242305                alarm(interval);
  • freebsd/tools/tools/net80211/wlanstats/wlanstats.c

    rd415406 recda181  
    11#include <machine/rtems-bsd-user-space.h>
     2
     3#ifdef __rtems__
     4#include "rtems-bsd-wlanstats-namespace.h"
     5#endif /* __rtems__ */
    26
    37/*-
     
    3640 */
    3741
     42#ifdef __rtems__
     43#include <machine/rtems-bsd-program.h>
     44#endif /* __rtems__ */
    3845#include <rtems/bsd/sys/param.h>
    3946#include <sys/file.h>
     
    5865
    5966#include "wlanstats.h"
     67#ifdef __rtems__
     68#include "rtems-bsd-wlanstats-wlanstats-data.h"
     69#endif /* __rtems__ */
    6070
    6171#ifndef IEEE80211_ADDR_COPY
  • libbsd.py

    rd415406 recda181  
    7979            'rtems/rtems-bsd-shell-tcpdump.c',
    8080            'rtems/rtems-bsd-shell-vmstat.c',
     81            'rtems/rtems-bsd-shell-wlanstats.c',
    8182            'rtems/rtems-bsd-syscall-api.c',
    8283            'rtems/rtems-kernel-assert.c',
     
    24562457
    24572458#
     2459# User space: wlanstats utility
     2460#
     2461def user_space_wlanstats(mm):
     2462    mod = builder.Module('user_space_wlanstats')
     2463    mod.addUserSpaceHeaderFiles(
     2464        [
     2465            'tools/tools/net80211/wlanstats/wlanstats.h',
     2466            'lib/libbsdstat/bsdstat.h',
     2467        ]
     2468    )
     2469    mod.addUserSpaceSourceFiles(
     2470        [
     2471            'tools/tools/net80211/wlanstats/main.c',
     2472            'tools/tools/net80211/wlanstats/wlanstats.c',
     2473            'lib/libbsdstat/bsdstat.c',
     2474        ],
     2475        mm.generator['source'](['-DINET6', '-DINET'])
     2476    )
     2477    return mod
     2478
     2479#
    24582480# Contrib expat
    24592481#
     
    30643086
    30653087    mm.addModule(user_space(mm))
     3088    mm.addModule(user_space_wlanstats(mm))
    30663089    mm.addModule(contrib_expat(mm))
    30673090    mm.addModule(contrib_libpcap(mm))
  • libbsd_waf.py

    rd415406 recda181  
    6868    includes += ["freebsd/include"]
    6969    includes += ["freebsd/lib"]
     70    includes += ["freebsd/lib/libbsdstat"]
    7071    includes += ["freebsd/lib/libc/include"]
    7172    includes += ["freebsd/lib/libc/isc/include"]
     
    251252                     'freebsd/lib/lib80211/lib80211_ioctl.c',
    252253                     'freebsd/lib/lib80211/lib80211_regdomain.c',
     254                     'freebsd/lib/libbsdstat/bsdstat.c',
    253255                     'freebsd/lib/libc/gen/err.c',
    254256                     'freebsd/lib/libc/gen/feature_present.c',
     
    451453                     'freebsd/sbin/route/route.c',
    452454                     'freebsd/sbin/sysctl/sysctl.c',
     455                     'freebsd/tools/tools/net80211/wlanstats/main.c',
     456                     'freebsd/tools/tools/net80211/wlanstats/wlanstats.c',
    453457                     'freebsd/usr.bin/netstat/bpf.c',
    454458                     'freebsd/usr.bin/netstat/flowtable.c',
     
    12731277              'rtemsbsd/rtems/rtems-bsd-shell-tcpdump.c',
    12741278              'rtemsbsd/rtems/rtems-bsd-shell-vmstat.c',
     1279              'rtemsbsd/rtems/rtems-bsd-shell-wlanstats.c',
    12751280              'rtemsbsd/rtems/rtems-bsd-syscall-api.c',
    12761281              'rtemsbsd/rtems/rtems-kernel-assert.c',
  • rtemsbsd/include/machine/rtems-bsd-commands.h

    rd415406 recda181  
    6969int rtems_bsd_command_vmstat(int argc, char **argv);
    7070
     71int rtems_bsd_command_wlanstats(int argc, char **argv);
     72
    7173__END_DECLS
    7274
  • rtemsbsd/include/rtems/netcmds-config.h

    rd415406 recda181  
    4444extern rtems_shell_cmd_t rtems_shell_VMSTAT_Command;
    4545
     46extern rtems_shell_cmd_t rtems_shell_WLANSTATS_Command;
     47
    4648#ifdef __cplusplus
    4749}
  • testsuite/include/rtems/bsd/test/default-network-init.h

    rd415406 recda181  
    366366  &rtems_shell_TCPDUMP_Command, \
    367367  &rtems_shell_SYSCTL_Command, \
    368   &rtems_shell_VMSTAT_Command
     368  &rtems_shell_VMSTAT_Command, \
     369  &rtems_shell_WLANSTATS_Command
    369370
    370371#define CONFIGURE_SHELL_COMMAND_CPUUSE
Note: See TracChangeset for help on using the changeset viewer.