Ignore:
Timestamp:
Jan 21, 2018, 12:10:09 AM (6 years ago)
Author:
coas-nagasima
Message:

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/sample/sample1n.c

    r321 r331  
    22 *  TINET (TCP/IP Protocol Stack)
    33 *
    4  *  Copyright (C) 2001-2009 by Dep. of Computer Science and Engineering
     4 *  Copyright (C) 2001-2012 by Dep. of Computer Science and Engineering
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
     
    3939
    4040#include <kernel.h>
    41 #include <t_syslog.h>
     41#include "syssvc/syslog.h"
    4242#include "syssvc/serial.h"
    4343#include "kernel_cfg.h"
     
    9292bool_t          wait_accept     = false;        /* 接続要求待ち中      */
    9393
     94#ifdef SUPPORT_INET6
     95
     96T_IPV6EP        dst;
     97
     98#else   /* of #ifdef SUPPORT_INET6 */
     99
    94100#ifdef SUPPORT_INET4
    95101
     
    97103
    98104#endif  /* of #ifdef SUPPORT_INET4 */
    99 
    100 #ifdef SUPPORT_INET6
    101 
    102 T_IPV6EP        dst;
    103105
    104106#endif  /* of #ifdef SUPPORT_INET6 */
     
    117119 */
    118120
     121#ifdef SUPPORT_INET6
     122
     123#define TCP_ACP_CEP(c,r,d,t)    tcp6_acp_cep(c,r,d,t)
     124#define IP2STR(s,a)             ipv62str(s,a)
     125
     126#else   /* of #ifdef SUPPORT_INET6 */
     127
    119128#ifdef SUPPORT_INET4
    120129
     
    124133#endif  /* of #ifdef SUPPORT_INET4 */
    125134
    126 #ifdef SUPPORT_INET6
    127 
    128 #define TCP_ACP_CEP(c,r,d,t)    tcp6_acp_cep(c,r,d,t)
    129 #define IP2STR(s,a)             ipv62str(s,a)
    130 
    131135#endif  /* of #ifdef SUPPORT_INET6 */
    132136
     
    143147
    144148        case TFN_TCP_ACP_CEP:
    145                 IP2STR(addr, &dst.ipaddr);
     149                IP2STR((char *)addr, &dst.ipaddr);
    146150                syslog(LOG_NOTICE, "connected:    %s.%d", addr, dst.portno);
    147151                if (*(ER*)p_parblk == E_OK)
     
    182186                connected = false;
    183187                syscall(sig_sem(SEM_NET_SEND));
    184                 IP2STR(addr, &dst.ipaddr);
     188                IP2STR((char *)addr, &dst.ipaddr);
    185189                syslog(LOG_NOTICE, "disconnected: %s.%d", addr, dst.portno);
    186190                }
     
    326330                        return serial_rea_dat(portid, buf, len);
    327331                        }
    328                 dly_tsk(500);
     332                dly_tsk(500000);
    329333                }
    330334        return off;
     
    423427        }
    424428
    425 #ifdef SUPPORT_INET4
     429/*
     430 *  ipv6addr -- IPv6 アドレス出力
     431 */
     432
     433int_t
     434put_ipv6addr (ID cepid, const T_IN6_ADDR *addr, int_t width)
     435{
     436        int_t   len = 0, ix;
     437        bool_t  omit = false, zero = false;
     438
     439        if (addr == NULL) {
     440                put_char(cepid, '0');
     441                put_char(cepid, ':');
     442                put_char(cepid, ':');
     443                put_char(cepid, '0');
     444                len = 4;
     445                }
     446        else {
     447                for (ix = 0; ix < sizeof(T_IN6_ADDR) / 2; ix ++) {
     448                        if (omit) {
     449                                len += put_num(cepid, addr->s6_addr16[ix], 16, radhex, 0, false, ' ');
     450                                if (ix < 7) {
     451                                        put_char(cepid, ':');
     452                                        len ++;
     453                                        }
     454                                }
     455                        else if (ix > 0 && ix < 7 && addr->s6_addr16[ix] == 0)
     456                                zero = true;
     457                        else {
     458                                if (zero) {
     459                                        omit = true;
     460                                        put_char(cepid, ':');
     461                                        len ++;
     462                                        }
     463                                len += put_num(cepid, addr->s6_addr16[ix], 16, radhex, 0, false, ' ');
     464                                if (ix < 7) {
     465                                        put_char(cepid, ':');
     466                                        len ++;
     467                                        }
     468                                }
     469                        }
     470
     471                for ( ; len < width; len ++)
     472                        put_char(cepid, ' ');
     473                }
     474        return len;
     475        }
    426476
    427477/*
     
    429479 */
    430480
    431 static int_t
     481int_t
    432482put_ipv4addr (ID cepid, ULONGEST *addr, int_t width)
    433483{
     
    462512        }
    463513
    464 #define PUT_IPADDR(p,a,w)       put_ipv4addr(p,a,w)
    465 
    466 #endif  /* of #ifdef SUPPORT_INET4 */
    467 
    468 #ifdef SUPPORT_INET6
    469 
    470 /*
    471  *  ipv6addr -- IPv6 アドレス出力
    472  */
    473 
    474 static int_t
    475 put_ipv6addr (ID cepid, const T_IN6_ADDR *addr, int_t width)
    476 {
    477         int_t   len = 0, ix;
    478         bool_t  omit = false, zero = false;
    479 
    480         if (addr == NULL) {
    481                 put_char(cepid, '0');
    482                 put_char(cepid, ':');
    483                 put_char(cepid, ':');
    484                 put_char(cepid, '0');
    485                 len = 4;
    486                 }
    487         else {
    488                 for (ix = 0; ix < sizeof(T_IN6_ADDR) / 2; ix ++) {
    489                         if (omit) {
    490                                 len += put_num(cepid, addr->s6_addr16[ix], 16, radhex, 0, false, ' ');
    491                                 if (ix < 7) {
    492                                         put_char(cepid, ':');
    493                                         len ++;
    494                                         }
    495                                 }
    496                         else if (ix > 0 && ix < 7 && addr->s6_addr16[ix] == 0)
    497                                 zero = true;
    498                         else {
    499                                 if (zero) {
    500                                         omit = true;
    501                                         put_char(cepid, ':');
    502                                         len ++;
    503                                         }
    504                                 len += put_num(cepid, addr->s6_addr16[ix], 16, radhex, 0, false, ' ');
    505                                 if (ix < 7) {
    506                                         put_char(cepid, ':');
    507                                         len ++;
    508                                         }
    509                                 }
    510                         }
    511 
    512                 for ( ; len < width; len ++)
    513                         put_char(cepid, ' ');
    514                 }
    515         return len;
    516         }
    517 
    518 #define PUT_IPADDR(p,a,w)       put_ipv6addr(p,a,w)
    519 
    520 #endif  /* of #ifdef SUPPORT_INET6 */
    521 
    522514/*
    523515 *  put_macaddr -- MAC アドレス出力
     
    586578        va_list ap;
    587579        char    padchar, *str;
    588         int_t   ch, width, longflag, left, i, c;
     580        int_t   ch, width, longflag, shortflag, left, i, c;
    589581
    590582        if (connected) {
     
    597589                                }
    598590
    599                         width = longflag = 0;
     591                        width = longflag = shortflag = 0;
    600592                        padchar = ' ';
    601593
     
    619611                        while (ch == 'l') {             /* long (long) の指定 */
    620612                                longflag ++;
     613                                ch = *format ++;
     614                                }
     615
     616                        while (ch == 'h') {             /* short の指定 */
     617                                shortflag ++;
    621618                                ch = *format ++;
    622619                                }
     
    663660                        case 'I':
    664661
     662                                if (longflag) {
     663                                        str = va_arg(ap, char*);
     664                                        put_ipv6addr(TCP_CEPID, (T_IN6_ADDR *)str, width);
     665                                        }
     666                                else if (shortflag) {
     667                                        val = GET_ARG(ap, longflag);
     668                                        put_ipv4addr(TCP_CEPID, (ULONGEST *)val, width);
     669                                        }
     670                                else {
     671
     672#ifdef SUPPORT_INET6
     673
     674                                        str = va_arg(ap, char*);
     675                                        put_ipv6addr(TCP_CEPID, (T_IN6_ADDR *)str, width);
     676
     677#else   /* of #ifdef SUPPORT_INET6 */
     678
    665679#ifdef SUPPORT_INET4
    666680
    667                                 val = GET_ARG(ap, longflag);
    668                                 put_ipv4addr(TCP_CEPID, (ULONGEST *)val, width);
     681                                        val = GET_ARG(ap, longflag);
     682                                        put_ipv4addr(TCP_CEPID, (ULONGEST *)val, width);
    669683
    670684#endif  /* of #ifdef SUPPORT_INET4 */
    671685
    672 #ifdef SUPPORT_INET6
    673 
    674                                 str = va_arg(ap, char*);
    675                                 put_ipv6addr(TCP_CEPID, (T_IN6_ADDR *)str, width);
    676 
    677686#endif  /* of #ifdef SUPPORT_INET6 */
     687
     688                                        }
    678689
    679690                                break;
     
    701712                flush_snd_buff(TCP_CEPID);
    702713                syscall(sig_sem(SEM_TCP_SYSLOG));
    703                 return E_OK;
     714                return;
    704715                }
    705716        else {
     
    714725                                }
    715726
     727                        longflag = 0;
    716728                        c = *format++;
    717729                        while ('0' <= c && c <= '9') {
    718730                                c = *format++;
    719731                                }
     732
     733                        while (c == 'l') {
     734                                longflag = 1;
     735                                c = *format++;
     736                        }
     737
    720738                        switch (c) {
    721739                        case 'd':
    722                                 log.logpar[i++] = (intptr_t)va_arg(ap, int_t);
     740                                if(longflag == 1) {
     741                                        log.logpar[i++] = (intptr_t)va_arg(ap, long_t);
     742                                }
     743                                else {
     744                                        log.logpar[i++] = (intptr_t)va_arg(ap, int_t);
     745                                }
    723746                                break;
    724747                        case 'u':
Note: See TracChangeset for help on using the changeset viewer.