This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Fork of libMiMic by Ryo Iizuka

Committer:
nyatla
Date:
Sat Apr 20 03:47:14 2013 +0000
Revision:
11:c82a7b2899b0
Parent:
2:b96c1e90d120
update under os/ files.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 0:142ee8b12fef 1 /*********************************************************************************
nyatla 0:142ee8b12fef 2 * PROJECT: MiMic
nyatla 0:142ee8b12fef 3 * --------------------------------------------------------------------------------
nyatla 0:142ee8b12fef 4 *
nyatla 0:142ee8b12fef 5 * This file is part of MiMic
nyatla 0:142ee8b12fef 6 * Copyright (C)2011 Ryo Iizuka
nyatla 0:142ee8b12fef 7 *
nyatla 0:142ee8b12fef 8 * MiMic is free software: you can redistribute it and/or modify
nyatla 0:142ee8b12fef 9 * it under the terms of the GNU Lesser General Public License as published
nyatla 0:142ee8b12fef 10 * by the Free Software Foundation, either version 3 of the License, or
nyatla 0:142ee8b12fef 11 * (at your option) any later version.
nyatla 0:142ee8b12fef 12 *
nyatla 0:142ee8b12fef 13 * This program is distributed in the hope that it will be useful,
nyatla 0:142ee8b12fef 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nyatla 0:142ee8b12fef 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
nyatla 0:142ee8b12fef 16 * GNU General Public License for more details.
nyatla 0:142ee8b12fef 17 *
nyatla 0:142ee8b12fef 18 * You should have received a copy of the GNU Lesser General Public License
nyatla 0:142ee8b12fef 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
nyatla 0:142ee8b12fef 20 *
nyatla 0:142ee8b12fef 21 * For further information please contact.
nyatla 0:142ee8b12fef 22 * http://nyatla.jp/
nyatla 0:142ee8b12fef 23 * <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>
nyatla 0:142ee8b12fef 24 *
nyatla 0:142ee8b12fef 25 *********************************************************************************/
nyatla 0:142ee8b12fef 26 #include "NyLPC_stdlib.h"
nyatla 11:c82a7b2899b0 27
nyatla 0:142ee8b12fef 28 NyLPC_TUInt32 NyLPC_TUInt32_bswap(NyLPC_TUInt32 n)
nyatla 0:142ee8b12fef 29 {
nyatla 0:142ee8b12fef 30 return(
nyatla 0:142ee8b12fef 31 ((((NyLPC_TUInt32)(n))<<24)&0xff000000)|
nyatla 0:142ee8b12fef 32 ((((NyLPC_TUInt32)(n))<< 8)&0x00ff0000)|
nyatla 0:142ee8b12fef 33 ((((NyLPC_TUInt32)(n))>> 8)&0x0000ff00)|
nyatla 0:142ee8b12fef 34 ((((NyLPC_TUInt32)(n))>>24)&0x000000ff));
nyatla 0:142ee8b12fef 35 }
nyatla 0:142ee8b12fef 36 NyLPC_TUInt16 NyLPC_TUInt16_bswap(NyLPC_TUInt16 n)
nyatla 0:142ee8b12fef 37 {
nyatla 0:142ee8b12fef 38 return NyLPC_TUInt16_BSWAP(n);
nyatla 0:142ee8b12fef 39 }
nyatla 0:142ee8b12fef 40
nyatla 0:142ee8b12fef 41 static int _line_log_l;
nyatla 0:142ee8b12fef 42 static const char* _line_log_m;
nyatla 0:142ee8b12fef 43 unsigned int NyLPC_assert_counter=0;
nyatla 0:142ee8b12fef 44 unsigned int NyLPC_abort_counter=0;
nyatla 0:142ee8b12fef 45 unsigned int NyLPC_debug_counter=0;
nyatla 0:142ee8b12fef 46
nyatla 0:142ee8b12fef 47 void NyLPC_assertHook(const char* m,int l)
nyatla 0:142ee8b12fef 48 {
nyatla 0:142ee8b12fef 49 _line_log_l=l;
nyatla 0:142ee8b12fef 50 _line_log_m=m;
nyatla 0:142ee8b12fef 51 NyLPC_assert_counter++;
nyatla 0:142ee8b12fef 52 return;
nyatla 0:142ee8b12fef 53 }
nyatla 0:142ee8b12fef 54 void NyLPC_abortHook(const char* m,int l)
nyatla 0:142ee8b12fef 55 {
nyatla 0:142ee8b12fef 56 _line_log_l=l;
nyatla 0:142ee8b12fef 57 _line_log_m=m;
nyatla 0:142ee8b12fef 58 NyLPC_abort_counter++;
nyatla 0:142ee8b12fef 59 }
nyatla 0:142ee8b12fef 60 void NyLPC_debugHook(const char* m,int l)
nyatla 0:142ee8b12fef 61 {
nyatla 0:142ee8b12fef 62 _line_log_l=l;
nyatla 0:142ee8b12fef 63 _line_log_m=m;
nyatla 0:142ee8b12fef 64 NyLPC_debug_counter++;
nyatla 0:142ee8b12fef 65 return;
nyatla 0:142ee8b12fef 66 }
nyatla 0:142ee8b12fef 67
nyatla 0:142ee8b12fef 68 NyLPC_TBool NyLPC_TCharArrayPtr_seek(struct NyLPC_TCharArrayPtr* i_struct,NyLPC_TUInt16 i_seek)
nyatla 0:142ee8b12fef 69 {
nyatla 0:142ee8b12fef 70 if(i_struct->len<i_seek){
nyatla 0:142ee8b12fef 71 return NyLPC_TBool_FALSE;
nyatla 0:142ee8b12fef 72 }
nyatla 0:142ee8b12fef 73 i_struct->ptr+=i_seek;
nyatla 0:142ee8b12fef 74 i_struct->len-=i_seek;
nyatla 0:142ee8b12fef 75 return NyLPC_TBool_TRUE;
nyatla 0:142ee8b12fef 76 }
nyatla 0:142ee8b12fef 77
nyatla 0:142ee8b12fef 78 NyLPC_TBool NyLPC_TUInt32ArrayPtr_seek(struct NyLPC_TUInt32ArrayPtr* i_struct,NyLPC_TUInt16 i_seek)
nyatla 0:142ee8b12fef 79 {
nyatla 0:142ee8b12fef 80 if(i_struct->len<i_seek){
nyatla 0:142ee8b12fef 81 return NyLPC_TBool_FALSE;
nyatla 0:142ee8b12fef 82 }
nyatla 0:142ee8b12fef 83 i_struct->ptr+=i_seek;
nyatla 0:142ee8b12fef 84 i_struct->len-=i_seek;
nyatla 0:142ee8b12fef 85 return NyLPC_TBool_TRUE;
nyatla 0:142ee8b12fef 86 }
nyatla 0:142ee8b12fef 87 void NyLPC_TUInt32ArrayPtr_setBuf(struct NyLPC_TUInt32ArrayPtr* i_struct,NyLPC_TUInt32* i_ptr,NyLPC_TUInt16 i_len)
nyatla 0:142ee8b12fef 88 {
nyatla 0:142ee8b12fef 89 i_struct->ptr=i_ptr;
nyatla 0:142ee8b12fef 90 i_struct->len=i_len;
nyatla 0:142ee8b12fef 91 }
nyatla 0:142ee8b12fef 92
nyatla 2:b96c1e90d120 93
nyatla 2:b96c1e90d120 94 /** ----------
nyatla 2:b96c1e90d120 95 * NyLPC_TTextIdTbl
nyatla 2:b96c1e90d120 96 ---------- */
nyatla 2:b96c1e90d120 97
nyatla 2:b96c1e90d120 98 /**
nyatla 2:b96c1e90d120 99 * IDテーブル
nyatla 2:b96c1e90d120 100 */
nyatla 2:b96c1e90d120 101
nyatla 2:b96c1e90d120 102 NyLPC_TUInt8 NyLPC_TTextIdTbl_getMatchId(const NyLPC_TChar* i_str,const struct NyLPC_TTextIdTbl i_tbl[])
nyatla 2:b96c1e90d120 103 {
nyatla 2:b96c1e90d120 104 int i;
nyatla 2:b96c1e90d120 105 for(i=0;i_tbl[i].n!=NULL;i++){
nyatla 2:b96c1e90d120 106 if(strcmp(i_str,i_tbl[i].n)==0){
nyatla 2:b96c1e90d120 107 break;
nyatla 2:b96c1e90d120 108 }
nyatla 2:b96c1e90d120 109 }
nyatla 2:b96c1e90d120 110 return i_tbl[i].id;
nyatla 2:b96c1e90d120 111 }
nyatla 2:b96c1e90d120 112
nyatla 2:b96c1e90d120 113
nyatla 2:b96c1e90d120 114
nyatla 2:b96c1e90d120 115
nyatla 2:b96c1e90d120 116 /** ----------
nyatla 11:c82a7b2899b0 117 * Standard functions
nyatla 2:b96c1e90d120 118 ---------- */
nyatla 2:b96c1e90d120 119
nyatla 2:b96c1e90d120 120
nyatla 2:b96c1e90d120 121
nyatla 2:b96c1e90d120 122
nyatla 11:c82a7b2899b0 123 /**
nyatla 11:c82a7b2899b0 124 * same as itoa
nyatla 11:c82a7b2899b0 125 */
nyatla 0:142ee8b12fef 126 void NyLPC_itoa(int i_n,char* o_out,int i_digit)
nyatla 0:142ee8b12fef 127 {
nyatla 0:142ee8b12fef 128 int i, sign;
nyatla 0:142ee8b12fef 129 if ((sign = i_n) < 0){
nyatla 0:142ee8b12fef 130 i_n = -i_n;
nyatla 0:142ee8b12fef 131 }
nyatla 0:142ee8b12fef 132 i = 0;
nyatla 0:142ee8b12fef 133 do{
nyatla 0:142ee8b12fef 134 o_out[i++] = i_n % 10 + '0';
nyatla 0:142ee8b12fef 135 }while ((i_n /= 10) > 0);
nyatla 0:142ee8b12fef 136 if (sign < 0){
nyatla 0:142ee8b12fef 137 o_out[i++] = '-';
nyatla 0:142ee8b12fef 138 }
nyatla 0:142ee8b12fef 139 o_out[i] = '\0';
nyatla 0:142ee8b12fef 140 NyLPC_reverse(o_out);
nyatla 0:142ee8b12fef 141 }
nyatla 0:142ee8b12fef 142
nyatla 0:142ee8b12fef 143 void NyLPC_reverse(char* s)
nyatla 0:142ee8b12fef 144 {
nyatla 0:142ee8b12fef 145 char *j;
nyatla 0:142ee8b12fef 146 char c;
nyatla 0:142ee8b12fef 147 j = s + strlen(s) - 1;
nyatla 0:142ee8b12fef 148 while(s < j){
nyatla 0:142ee8b12fef 149 c = *s;
nyatla 0:142ee8b12fef 150 *s++ = *j;
nyatla 0:142ee8b12fef 151 *j-- = c;
nyatla 0:142ee8b12fef 152 }
nyatla 11:c82a7b2899b0 153 }
nyatla 11:c82a7b2899b0 154
nyatla 11:c82a7b2899b0 155
nyatla 11:c82a7b2899b0 156 int NyLPC_stricmp(const char *i_s1, const char *i_s2)
nyatla 11:c82a7b2899b0 157 {
nyatla 11:c82a7b2899b0 158 const char* s1 =i_s1;
nyatla 11:c82a7b2899b0 159 const char* s2 =i_s2;
nyatla 11:c82a7b2899b0 160 for (;NyLPC_tolower(*s1) == NyLPC_tolower(*s2) && *s1 != '\0';s1++, s2++);
nyatla 11:c82a7b2899b0 161 return (int)((unsigned char)*s1) - (int)((unsigned char)(*s2));
nyatla 11:c82a7b2899b0 162 }
nyatla 11:c82a7b2899b0 163
nyatla 11:c82a7b2899b0 164 int NyLPC_strnicmp(const char *i_s1, const char *i_s2,int n)
nyatla 11:c82a7b2899b0 165 {
nyatla 11:c82a7b2899b0 166 char c;
nyatla 11:c82a7b2899b0 167 int n2=n;
nyatla 11:c82a7b2899b0 168 for(;n2>0;n2--)
nyatla 11:c82a7b2899b0 169 {
nyatla 11:c82a7b2899b0 170 c=(int)((unsigned char)NyLPC_tolower(*i_s1)) - (int)((unsigned char)NyLPC_tolower(*i_s2));
nyatla 11:c82a7b2899b0 171 if(c!=0){
nyatla 11:c82a7b2899b0 172 return c;
nyatla 11:c82a7b2899b0 173 }
nyatla 11:c82a7b2899b0 174 i_s1++;
nyatla 11:c82a7b2899b0 175 i_s2++;
nyatla 11:c82a7b2899b0 176 }
nyatla 11:c82a7b2899b0 177 return 0;
nyatla 11:c82a7b2899b0 178 }
nyatla 11:c82a7b2899b0 179
nyatla 11:c82a7b2899b0 180
nyatla 11:c82a7b2899b0 181 int NyLPC_ctoi(char i)
nyatla 11:c82a7b2899b0 182 {
nyatla 11:c82a7b2899b0 183 if('0'<=i && i<='9') return (i-'0');
nyatla 11:c82a7b2899b0 184 return 0;
nyatla 11:c82a7b2899b0 185 }
nyatla 11:c82a7b2899b0 186 int NyLPC_ctox(char i)
nyatla 11:c82a7b2899b0 187 {
nyatla 11:c82a7b2899b0 188 if('0'<=i && i<='9') return (i-'0');
nyatla 11:c82a7b2899b0 189 if('a'<=i && i<='f') return (i-'a'+10);
nyatla 11:c82a7b2899b0 190 if('A'<=i && i<='F') return (i-'A'+10);
nyatla 11:c82a7b2899b0 191 return 0;
nyatla 11:c82a7b2899b0 192 }
nyatla 11:c82a7b2899b0 193
nyatla 11:c82a7b2899b0 194
nyatla 11:c82a7b2899b0 195
nyatla 11:c82a7b2899b0 196
nyatla 11:c82a7b2899b0 197