Changeset 64c663c in rtems-libbsd


Ignore:
Timestamp:
Jan 10, 2017, 7:04:58 AM (3 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
c1e05b9ea378b2971e3d7704779112b4bc4296da, 4a77611a223ea883fb548679b516d326a020d447
Children:
3dff21a
Parents:
246b61e
git-author:
Sebastian Huber <sebastian.huber@…> (01/10/17 07:04:58)
git-committer:
Sebastian Huber <sebastian.huber@…> (01/10/17 10:03:32)
Message:

ARP(8): Port to RTEMS

Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • freebsd/usr.sbin/arp/arp.c

    r246b61e r64c663c  
    11#include <machine/rtems-bsd-user-space.h>
     2
     3#ifdef __rtems__
     4#include "rtems-bsd-arp-namespace.h"
     5#endif /* __rtems__ */
    26
    37/*
     
    5256
    5357
     58#ifdef __rtems__
     59#define __need_getopt_newlib
     60#include <getopt.h>
     61#include <machine/rtems-bsd-program.h>
     62#include <machine/rtems-bsd-commands.h>
     63#endif /* __rtems__ */
    5464#include <rtems/bsd/sys/param.h>
    5565#include <sys/file.h>
     
    8292#include <strings.h>
    8393#include <unistd.h>
     94#ifdef __rtems__
     95#include "rtems-bsd-arp-arp-data.h"
     96static struct timespec tp;
     97static int seq;
     98static int s = -1;
     99static pid_t pid;
     100#endif /* __rtems__ */
    84101
    85102typedef void (action_fn)(struct sockaddr_dl *sdl,
     
    107124static int      flags, doing_proxy;
    108125
    109 struct if_nameindex *ifnameindex;
     126static struct if_nameindex *ifnameindex;
    110127
    111128/* which function we're supposed to do */
     
    118135#define SETFUNC(f)      { if (func) usage(); func = (f); }
    119136
     137#ifdef __rtems__
     138static int main(int argc, char *argv[]);
     139
     140RTEMS_LINKER_RWSET(bsd_prog_arp, char);
     141
     142int
     143rtems_bsd_command_arp(int argc, char *argv[])
     144{
     145        int exit_code;
     146        void *data_begin;
     147        size_t data_size;
     148
     149        data_begin = RTEMS_LINKER_SET_BEGIN(bsd_prog_arp);
     150        data_size = RTEMS_LINKER_SET_SIZE(bsd_prog_arp);
     151
     152        rtems_bsd_program_lock();
     153        exit_code = rtems_bsd_program_call_main_with_data_restore("arp",
     154            main, argc, argv, data_begin, data_size);
     155        rtems_bsd_program_unlock();
     156
     157        return exit_code;
     158}
     159#endif /* __rtems__ */
    120160int
    121161main(int argc, char *argv[])
     
    124164        int rtn = 0;
    125165        int aflag = 0;  /* do it for all entries */
     166#ifdef __rtems__
     167        struct getopt_data getopt_data;
     168        memset(&getopt_data, 0, sizeof(getopt_data));
     169#define optind getopt_data.optind
     170#define optarg getopt_data.optarg
     171#define opterr getopt_data.opterr
     172#define optopt getopt_data.optopt
     173#define getopt(argc, argv, opt) getopt_r(argc, argv, "+" opt, &getopt_data)
     174#endif /* __rtems__ */
    126175
    127176        while ((ch = getopt(argc, argv, "andfsSi:")) != -1)
     
    620669                printf(" permanent");
    621670        else {
     671#ifndef __rtems__
    622672                static struct timespec tp;
     673#endif /* __rtems__ */
    623674                if (tp.tv_sec == 0)
    624675                        clock_gettime(CLOCK_MONOTONIC, &tp);
     
    704755rtmsg(int cmd, struct sockaddr_in *dst, struct sockaddr_dl *sdl)
    705756{
     757#ifndef __rtems__
    706758        static int seq;
     759#endif /* __rtems__ */
    707760        int rlen;
    708761        int l;
    709762        struct sockaddr_in so_mask, *som = &so_mask;
     763#ifndef __rtems__
    710764        static int s = -1;
    711765        static pid_t pid;
     766#endif /* __rtems__ */
    712767
    713768        static struct   {
  • libbsd.py

    r246b61e r64c663c  
    7171            'rtems/rtems-bsd-rc-conf.c',
    7272            'rtems/rtems-bsd-shell.c',
     73            'rtems/rtems-bsd-shell-arp.c',
    7374            'rtems/rtems-bsd-shell-ifconfig.c',
    7475            'rtems/rtems-bsd-shell-netstat.c',
     
    22202221            'usr.bin/netstat/unix.c',
    22212222            'usr.bin/vmstat/vmstat.c',
     2223            'usr.sbin/arp/arp.c',
    22222224        ],
    22232225        mm.generator['source'](['-DINET6', '-DINET'])
  • libbsd_waf.py

    r246b61e r64c663c  
    448448                     'freebsd/usr.bin/netstat/sctp.c',
    449449                     'freebsd/usr.bin/netstat/unix.c',
    450                      'freebsd/usr.bin/vmstat/vmstat.c']
     450                     'freebsd/usr.bin/vmstat/vmstat.c',
     451                     'freebsd/usr.sbin/arp/arp.c']
    451452    bld.objects(target = "objs01",
    452453                features = "c",
     
    11001101              'rtemsbsd/rtems/rtems-bsd-rc-conf-pf.c',
    11011102              'rtemsbsd/rtems/rtems-bsd-rc-conf.c',
     1103              'rtemsbsd/rtems/rtems-bsd-shell-arp.c',
    11021104              'rtemsbsd/rtems/rtems-bsd-shell-dhcpcd.c',
    11031105              'rtemsbsd/rtems/rtems-bsd-shell-ifconfig.c',
  • rtemsbsd/include/machine/rtems-bsd-commands.h

    r246b61e r64c663c  
    4747__BEGIN_DECLS
    4848
     49int rtems_bsd_command_arp(int argc, char **argv);
     50
    4951int rtems_bsd_command_ifconfig(int argc, char **argv);
    5052
  • rtemsbsd/include/rtems/netcmds-config.h

    r246b61e r64c663c  
    2222extern "C" {
    2323#endif /* __cplusplus */
     24
     25extern rtems_shell_cmd_t rtems_shell_ARP_Command;
    2426
    2527extern rtems_shell_cmd_t rtems_shell_BSD_Command;
  • testsuite/include/rtems/bsd/test/default-network-init.h

    r246b61e r64c663c  
    358358#define CONFIGURE_SHELL_USER_COMMANDS \
    359359  &bsp_interrupt_shell_command, \
     360  &rtems_shell_ARP_Command, \
    360361  &rtems_shell_BSD_Command, \
    361362  &rtems_shell_HOSTNAME_Command, \
  • testsuite/media01/test_main.c

    r246b61e r64c663c  
    200200#define CONFIGURE_SHELL_USER_COMMANDS \
    201201  &bsp_interrupt_shell_command, \
     202  &rtems_shell_ARP_Command, \
    202203  &rtems_shell_BSD_Command, \
    203204  &rtems_shell_HOSTNAME_Command, \
  • testsuite/netshell01/shellconfig.c

    r246b61e r64c663c  
    1111
    1212#define CONFIGURE_SHELL_USER_COMMANDS \
     13    &rtems_shell_ARP_Command, \
    1314    &rtems_shell_SYSCTL_Command, \
    1415    &rtems_shell_HOSTNAME_Command, \
Note: See TracChangeset for help on using the changeset viewer.