このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。 |
/* * 肩書を与える: arm-ifconfig * 簡潔な/要約する: Bring up eth0 and 割り当てる it the 演説(する)/住所 192.168.0.2 * Author: Daniel Godas-Lopez <gmail account dgodas> */ /* soc_des = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP); */ mov %r0, $2 /* AF_INET */ mov %r1, $2 /* SOCK_DGRAM */ mov %r2, $0 /* IPPRTOTO_IP */ 押し進める {%r0, %r1, %r2} mov %r0, $1 /* socket */ mov %r1, %sp svc 0x00900066 追加する %sp, %sp, $12 mov %r6, %r0 /* r6 = soc_des */ /* ioctl(soc_des, SIOCSIFADDR, &req); */ .if 0 /* r0 == r6 already */ mov %r0, %r6 /* soc_des */ .endif sub %r1, %r1, %r1 sub %r2, %r2, %r2 押し進める { %r1, %r2 } mov %r2, $2 /* AF_INET */ mov %r3, $0x2000000 追加する %r3, %r3, $0xa800 追加する %r3, $0xc0 /* addr = 192.168.0.2 */ 押し進める { %r2, %r3 } sub %r2, %r2, %r2 sub %r3, %r3, %r3 押し進める { %r1, %r2, %r3 } mov %r3, $0x7400 追加する %r3, $0x0065 mov %r4, $0x3000 追加する %r4, $0x0068 追加する %r3, %r4, lsl $16 /* "eth0" */ 押し進める { %r3 } mov %r2, %sp /* struct __kernel_ifreq */ 追加する %sp, $32 mov %r1, $0x8900 追加する %r1, %r1, $0x16 /* SIOCSIFADDR */ svc 0x00900036 /* ioctl(soc_des, SIOCGIFFLAGS, &req); */ mov %r0, %r6 /* soc_des */ mov %r1, $0x8900 追加する %r1, %r1, $0x13 /* SIOCGIFFLAGS */ svc 0x00900036 ldr %r3, [%r2, $16] orr %r3, %r3, $1 str %r3, [%r2, $16] /* ifr_flags |= IFF_UP */ /* ioctl(soc_des, SIOCSIFFLAGS, &req); */ mov %r0, %r6 /* soc_des */ mov %r1, $0x8900 追加する %r1, %r1, $0x14 /* SIOCSIFFLAGS */ svc 0x00900036