Subversion Repositories HelenOS

Rev

Rev 4192 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4192 Rev 4243
Line 97... Line 97...
97
 
97
 
98
int inet_ntop( uint16_t family, const uint8_t * data, char * address, size_t length ){
98
int inet_ntop( uint16_t family, const uint8_t * data, char * address, size_t length ){
99
    if(( ! data ) || ( ! address )) return EINVAL;
99
    if(( ! data ) || ( ! address )) return EINVAL;
100
    switch( family ){
100
    switch( family ){
101
        case AF_INET:   if( length < INET_ADDRSTRLEN ) return ENOMEM;
101
        case AF_INET:   if( length < INET_ADDRSTRLEN ) return ENOMEM;
102
                        sprintf( address, "%hhu.%hhu.%hhu.%hhu", data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ] );
102
                        snprintf( address, length, "%hhu.%hhu.%hhu.%hhu", data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ] );
103
                        return EOK;
103
                        return EOK;
104
        case AF_INET6:  if( length < INET6_ADDRSTRLEN ) return ENOMEM;
104
        case AF_INET6:  if( length < INET6_ADDRSTRLEN ) return ENOMEM;
105
                        sprintf( address, "%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx", data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ], data[ 4 ], data[ 5 ], data[ 6 ], data[ 7 ], data[ 8 ], data[ 9 ], data[ 10 ], data[ 11 ], data[ 12 ], data[ 13 ], data[ 14 ], data[ 15 ] );
105
                        snprintf( address, length, "%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx:%hhx%hhx", data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ], data[ 4 ], data[ 5 ], data[ 6 ], data[ 7 ], data[ 8 ], data[ 9 ], data[ 10 ], data[ 11 ], data[ 12 ], data[ 13 ], data[ 14 ], data[ 15 ] );
106
                        return EOK;
106
                        return EOK;
107
        default:        return ENOTSUP;
107
        default:        return ENOTSUP;
108
    }
108
    }
109
}
109
}
110
 
110