.PNONY: all install clean $(FILES)
-all:
+all: $(FILES)
@$(foreach DIR,$(DIRS), echo --- $(NAME)/$(DIR) && $(SUBMAKE) -C $(DIR) $@ &&) true
-install:
+install: $(FILES)
@$(xMKDIR) $(DISTROOT)/Apps ; true
@$(xMKDIR) $(DISTROOT)/Apps/AxWin ; true
@$(xMKDIR) $(DISTROOT)/Apps/3.0 ; true
@$(foreach DIR,$(DIRS), echo --- $(NAME)/$(DIR) && $(SUBMAKE) -C $(DIR) $@ &&) true
- @$(foreach FILE,$(FILES), $(SUBMAKE) $FILE;) true
+# @$(foreach FILE,$(FILES), $(SUBMAKE) -C $(FILE);) true
clean:
@$(foreach DIR,$(DIRS), $(SUBMAKE) -C $(DIR) $@ &&) true
// === PROTOTYPES ===
void PrintUsage(char *ProgName);
void PrintHelp(char *ProgName);
- int GetAddress( char *Address, uint8_t *Addr );
// === GLOBALS ===
int giNumberOfPings = 1;
fprintf(stderr, " -h\tPrint this message\n");
}
-/**
- * \brief Read an IPv4 Address
- */
-int GetAddress4(char *String, uint8_t *Addr)
-{
- int i = 0;
- int j;
- int val;
-
- for( j = 0; String[i] && j < 4; j ++ )
- {
- val = 0;
- for( ; String[i] && String[i] != '.'; i++ )
- {
- if('0' > String[i] || String[i] > '9') {
- printf("0<c<9 expected, '%c' found\n", String[i]);
- return 0;
- }
- val = val*10 + String[i] - '0';
- }
- if(val > 255) {
- printf("val > 255 (%i)\n", val);
- return 0;
- }
- Addr[j] = val;
-
- if(String[i] == '.')
- i ++;
- }
- if( j != 4 ) {
- printf("4 parts expected, %i found\n", j);
- return 0;
- }
- if(String[i] != '\0') {
- printf("EOS != '\\0', '%c'\n", String[i]);
- return 0;
- }
- return 1;
-}
-
-/**
- * \brief Read an IPv6 Address
- */
-int GetAddress6(char *String, uint8_t *Addr)
-{
- int i = 0;
- int j, k;
- int val, split = -1, end;
- uint16_t hi[8], low[8];
-
- for( j = 0; String[i] && j < 8; j ++ )
- {
- if(String[i] == ':') {
- if(split != -1) {
- printf("Two '::'s\n");
- return 0;
- }
- split = j;
- i ++;
- continue;
- }
-
- val = 0;
- for( k = 0; String[i] && String[i] != ':'; i++, k++ )
- {
- val *= 16;
- if('0' <= String[i] && String[i] <= '9')
- val += String[i] - '0';
- else if('A' <= String[i] && String[i] <= 'F')
- val += String[i] - 'A' + 10;
- else if('a' <= String[i] && String[i] <= 'f')
- val += String[i] - 'a' + 10;
- else {
- printf("%c unexpected\n", String[i]);
- return 0;
- }
- }
-
- if(val > 0xFFFF) {
- printf("val (0x%x) > 0xFFFF\n", val);
- return 0;
- }
-
- if(split == -1)
- hi[j] = val;
- else
- low[j-split] = val;
-
- if( String[i] == ':' ) {
- i ++;
- }
- }
- end = j;
-
- for( j = 0; j < split; j ++ )
- {
- Addr[j*2] = hi[j]>>8;
- Addr[j*2+1] = hi[j]&0xFF;
- }
- for( ; j < 8 - (end - split); j++ )
- {
- Addr[j*2] = 0;
- Addr[j*2+1] = 0;
- }
- k = 0;
- for( ; j < 8; j ++, k++)
- {
- Addr[j*2] = hi[k]>>8;
- Addr[j*2+1] = hi[k]&0xFF;
- }
-
- return 1;
-}
-
-int GetAddress(char *String, uint8_t *Addr)
-{
- if( GetAddress4(String, Addr) )
- return 4;
-
- if( GetAddress6(String, Addr) )
- return 6;
-
- return 0;
-}