> > After some digging, it seems /usr/include/sys/socket.h is relevant: > > > > /* > > * Address families. > > */ > > #define AF_UNSPEC 0 /* unspecified */ > > #define AF_UNIX 1 /* local to host (pipes, portals) > > */ > > #define AF_INET 2 /* internetwork: UDP, TCP, etc. */ > > #define AF_IMPLINK 3 /* arpanet imp addresses */ > > #define AF_PUP 4 /* pup protocols: e.g. BSP */ > > #define AF_CHAOS 5 /* mit CHAOS protocols */ > > #define AF_NS 6 /* XEROX NS protocols */ > > #define AF_ISO 7 /* ISO protocols */ > > #define AF_OSI AF_ISO > > #define AF_ECMA 8 /* european computer manufacturers > > */ > > #define AF_DATAKIT 9 /* datakit protocols */ > > #define AF_CCITT 10 /* CCITT protocols, X.25 etc */ > > #define AF_SNA 11 /* IBM SNA */ > > #define AF_DECnet 12 /* DECnet */ > > #define AF_DLI 13 /* Direct data link interface */ > > #define AF_LAT 14 /* LAT */ > > #define AF_HYLINK 15 /* NSC Hyperchannel */ > > #define AF_APPLETALK 16 /* Apple Talk */ > > #define AF_ROUTE 17 /* Internal Routing Protocol */ > > #define AF_LINK 18 /* Link layer interface */ > > #define pseudo_AF_XTP 19 /* eXpress Transfer Protocol (no > > AF) > > */ > > > > #define AF_MAX 20 > > > > /* > > * Structure used by kernel to store most addresses. > > */ > > struct sockaddr { > > u_short sa_family; /* address family */ > > char sa_data[14]; /* up to 14 bytes of direct > > address */ > > }; > > > > Any suggestions on a curl convention to follow with respect to > > handling this variance to what other systems define? > > After more digging, I see CURL_SA_FAMILY_T... This comes down to the fact that this is a bug in curl 7.66.0 through 7.76.0. "sa_family_t" should not occur in lib/connect.c, but rather, CURL_SA_FAMILY_T should appear there:
Build succeeds with this patch applied: $ cat curl-7.76.0-i686-pc-sco3.2v5.0.7-2.patch --- curl-7.76.0/lib/connect.c.orig 2021-03-30 16:58:56.000000000 -0500 +++ curl-7.76.0/lib/connect.c 2021-04-19 13:48:21.000000000 -0500 @@ -660,7 +660,7 @@ #endif #if defined(HAVE_SYS_UN_H) && defined(AF_UNIX) case AF_UNIX: - if(salen > (curl_socklen_t)sizeof(sa_family_t)) { + if(salen > (curl_socklen_t)sizeof(CURL_SA_FAMILY_T)) { su = (struct sockaddr_un*)sa; msnprintf(addr, MAX_IPADR_LEN, "%s", su->sun_path); } $ src/curl --version curl 7.76.0 (i686-pc-sco3.2v5.0.7) libcurl/7.76.0 OpenSSL/1.0.2u zlib/1.2.11 libssh2/1.8.0 Release-Date: 2021-03-31 Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp scp sftp smtp smtps telnet tftp Features: alt-svc HTTPS-proxy libz NTLM NTLM_WB SSL TLS-SRP UnixSockets Kevin R. Bulgrien ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.html