File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -521,6 +521,16 @@ STATIC mp_obj_t mod_socket_sockaddr(mp_obj_t sockaddr_in) {
521521 t -> items [2 ] = MP_OBJ_NEW_SMALL_INT (ntohs (sa -> sin_port ));
522522 return MP_OBJ_FROM_PTR (t );
523523 }
524+ case AF_INET6 : {
525+ struct sockaddr_in6 * sa = (struct sockaddr_in6 * )bufinfo .buf ;
526+ mp_obj_tuple_t * t = MP_OBJ_TO_PTR (mp_obj_new_tuple (5 , NULL ));
527+ t -> items [0 ] = MP_OBJ_NEW_SMALL_INT (AF_INET6 );
528+ t -> items [1 ] = mp_obj_new_bytes ((byte * )& sa -> sin6_addr , sizeof (sa -> sin6_addr ));
529+ t -> items [2 ] = MP_OBJ_NEW_SMALL_INT (ntohs (sa -> sin6_port ));
530+ t -> items [3 ] = MP_OBJ_NEW_SMALL_INT (ntohl (sa -> sin6_flowinfo ));
531+ t -> items [4 ] = MP_OBJ_NEW_SMALL_INT (ntohl (sa -> sin6_scope_id ));
532+ return MP_OBJ_FROM_PTR (t );
533+ }
524534 default : {
525535 struct sockaddr * sa = (struct sockaddr * )bufinfo .buf ;
526536 mp_obj_tuple_t * t = MP_OBJ_TO_PTR (mp_obj_new_tuple (2 , NULL ));
You can’t perform that action at this time.
0 commit comments