@@ -297,8 +297,8 @@ pub const ATF_PUBL: ::c_int = 0x08;
297
297
pub const ATF_USETRAILERS : :: c_int = 0x10 ;
298
298
299
299
cfg_if ! {
300
- if #[ cfg( target_os = "l4re" ) ] {
301
- // required libraries for L4Re are linked externally, ATM
300
+ if #[ cfg( any ( target_os = "l4re" , target_os = "espidf" ) ) ] {
301
+ // required libraries for L4Re and the ESP-IDF framework are linked externally, ATM
302
302
} else if #[ cfg( feature = "std" ) ] {
303
303
// cargo build, don't pull in anything extra as the libstd dep
304
304
// already pulls in all libs.
@@ -576,6 +576,7 @@ extern "C" {
576
576
) ) ) ]
577
577
#[ cfg_attr( target_os = "netbsd" , link_name = "__socket30" ) ]
578
578
#[ cfg_attr( target_os = "illumos" , link_name = "__xnet_socket" ) ]
579
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_socket" ) ]
579
580
pub fn socket ( domain : :: c_int , ty : :: c_int , protocol : :: c_int ) -> :: c_int ;
580
581
#[ cfg( not( all(
581
582
libc_cfg_target_vendor,
@@ -587,11 +588,13 @@ extern "C" {
587
588
link_name = "connect$UNIX2003"
588
589
) ]
589
590
#[ cfg_attr( target_os = "illumos" , link_name = "__xnet_connect" ) ]
591
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_connect" ) ]
590
592
pub fn connect ( socket : :: c_int , address : * const sockaddr , len : socklen_t ) -> :: c_int ;
591
593
#[ cfg_attr(
592
594
all( target_os = "macos" , target_arch = "x86" ) ,
593
595
link_name = "listen$UNIX2003"
594
596
) ]
597
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_listen" ) ]
595
598
pub fn listen ( socket : :: c_int , backlog : :: c_int ) -> :: c_int ;
596
599
#[ cfg( not( all(
597
600
libc_cfg_target_vendor,
@@ -602,6 +605,7 @@ extern "C" {
602
605
all( target_os = "macos" , target_arch = "x86" ) ,
603
606
link_name = "accept$UNIX2003"
604
607
) ]
608
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_accept" ) ]
605
609
pub fn accept ( socket : :: c_int , address : * mut sockaddr , address_len : * mut socklen_t ) -> :: c_int ;
606
610
#[ cfg( not( all(
607
611
libc_cfg_target_vendor,
@@ -612,6 +616,7 @@ extern "C" {
612
616
all( target_os = "macos" , target_arch = "x86" ) ,
613
617
link_name = "getpeername$UNIX2003"
614
618
) ]
619
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_getpeername" ) ]
615
620
pub fn getpeername (
616
621
socket : :: c_int ,
617
622
address : * mut sockaddr ,
@@ -626,11 +631,13 @@ extern "C" {
626
631
all( target_os = "macos" , target_arch = "x86" ) ,
627
632
link_name = "getsockname$UNIX2003"
628
633
) ]
634
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_getsockname" ) ]
629
635
pub fn getsockname (
630
636
socket : :: c_int ,
631
637
address : * mut sockaddr ,
632
638
address_len : * mut socklen_t ,
633
639
) -> :: c_int ;
640
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_setsockopt" ) ]
634
641
pub fn setsockopt (
635
642
socket : :: c_int ,
636
643
level : :: c_int ,
@@ -659,6 +666,7 @@ extern "C" {
659
666
link_name = "sendto$UNIX2003"
660
667
) ]
661
668
#[ cfg_attr( target_os = "illumos" , link_name = "__xnet_sendto" ) ]
669
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_sendto" ) ]
662
670
pub fn sendto (
663
671
socket : :: c_int ,
664
672
buf : * const :: c_void ,
@@ -667,6 +675,7 @@ extern "C" {
667
675
addr : * const sockaddr ,
668
676
addrlen : socklen_t ,
669
677
) -> :: ssize_t ;
678
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_shutdown" ) ]
670
679
pub fn shutdown ( socket : :: c_int , how : :: c_int ) -> :: c_int ;
671
680
672
681
#[ cfg_attr(
@@ -1084,6 +1093,7 @@ extern "C" {
1084
1093
all( target_os = "macos" , target_arch = "x86" ) ,
1085
1094
link_name = "pthread_rwlock_init$UNIX2003"
1086
1095
) ]
1096
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutex_init" ) ]
1087
1097
pub fn pthread_rwlock_init (
1088
1098
lock : * mut pthread_rwlock_t ,
1089
1099
attr : * const pthread_rwlockattr_t ,
@@ -1092,36 +1102,45 @@ extern "C" {
1092
1102
all( target_os = "macos" , target_arch = "x86" ) ,
1093
1103
link_name = "pthread_rwlock_destroy$UNIX2003"
1094
1104
) ]
1105
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutex_destroy" ) ]
1095
1106
pub fn pthread_rwlock_destroy ( lock : * mut pthread_rwlock_t ) -> :: c_int ;
1096
1107
#[ cfg_attr(
1097
1108
all( target_os = "macos" , target_arch = "x86" ) ,
1098
1109
link_name = "pthread_rwlock_rdlock$UNIX2003"
1099
1110
) ]
1111
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutex_lock" ) ]
1100
1112
pub fn pthread_rwlock_rdlock ( lock : * mut pthread_rwlock_t ) -> :: c_int ;
1101
1113
#[ cfg_attr(
1102
1114
all( target_os = "macos" , target_arch = "x86" ) ,
1103
1115
link_name = "pthread_rwlock_tryrdlock$UNIX2003"
1104
1116
) ]
1117
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutex_trylock" ) ]
1105
1118
pub fn pthread_rwlock_tryrdlock ( lock : * mut pthread_rwlock_t ) -> :: c_int ;
1106
1119
#[ cfg_attr(
1107
1120
all( target_os = "macos" , target_arch = "x86" ) ,
1108
1121
link_name = "pthread_rwlock_wrlock$UNIX2003"
1109
1122
) ]
1123
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutex_lock" ) ]
1110
1124
pub fn pthread_rwlock_wrlock ( lock : * mut pthread_rwlock_t ) -> :: c_int ;
1111
1125
#[ cfg_attr(
1112
1126
all( target_os = "macos" , target_arch = "x86" ) ,
1113
1127
link_name = "pthread_rwlock_trywrlock$UNIX2003"
1114
1128
) ]
1129
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutex_trylock" ) ]
1115
1130
pub fn pthread_rwlock_trywrlock ( lock : * mut pthread_rwlock_t ) -> :: c_int ;
1116
1131
#[ cfg_attr(
1117
1132
all( target_os = "macos" , target_arch = "x86" ) ,
1118
1133
link_name = "pthread_rwlock_unlock$UNIX2003"
1119
1134
) ]
1135
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutex_unlock" ) ]
1120
1136
pub fn pthread_rwlock_unlock ( lock : * mut pthread_rwlock_t ) -> :: c_int ;
1137
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutexattr_init" ) ]
1121
1138
pub fn pthread_rwlockattr_init ( attr : * mut pthread_rwlockattr_t ) -> :: c_int ;
1139
+ #[ cfg_attr( target_os = "espidf" , link_name = "pthread_mutexattr_destroy" ) ]
1122
1140
pub fn pthread_rwlockattr_destroy ( attr : * mut pthread_rwlockattr_t ) -> :: c_int ;
1123
1141
1124
1142
#[ cfg_attr( target_os = "illumos" , link_name = "__xnet_getsockopt" ) ]
1143
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_getsockopt" ) ]
1125
1144
pub fn getsockopt (
1126
1145
sockfd : :: c_int ,
1127
1146
level : :: c_int ,
@@ -1147,6 +1166,7 @@ extern "C" {
1147
1166
target_vendor = "nintendo"
1148
1167
) ) ) ]
1149
1168
#[ cfg_attr( target_os = "illumos" , link_name = "__xnet_getaddrinfo" ) ]
1169
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_getaddrinfo" ) ]
1150
1170
pub fn getaddrinfo (
1151
1171
node : * const c_char ,
1152
1172
service : * const c_char ,
@@ -1158,6 +1178,7 @@ extern "C" {
1158
1178
target_arch = "powerpc" ,
1159
1179
target_vendor = "nintendo"
1160
1180
) ) ) ]
1181
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_freeaddrinfo" ) ]
1161
1182
pub fn freeaddrinfo ( res : * mut addrinfo ) ;
1162
1183
pub fn gai_strerror ( errcode : :: c_int ) -> * const :: c_char ;
1163
1184
#[ cfg_attr(
@@ -1233,11 +1254,13 @@ extern "C" {
1233
1254
all( target_os = "macos" , target_arch = "x86" ) ,
1234
1255
link_name = "send$UNIX2003"
1235
1256
) ]
1257
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_send" ) ]
1236
1258
pub fn send ( socket : :: c_int , buf : * const :: c_void , len : :: size_t , flags : :: c_int ) -> :: ssize_t ;
1237
1259
#[ cfg_attr(
1238
1260
all( target_os = "macos" , target_arch = "x86" ) ,
1239
1261
link_name = "recv$UNIX2003"
1240
1262
) ]
1263
+ #[ cfg_attr( target_os = "espidf" , link_name = "lwip_recv" ) ]
1241
1264
pub fn recv ( socket : :: c_int , buf : * mut :: c_void , len : :: size_t , flags : :: c_int ) -> :: ssize_t ;
1242
1265
#[ cfg_attr(
1243
1266
all( target_os = "macos" , target_arch = "x86" ) ,
0 commit comments