From owner-freebsd-questions@freebsd.org Tue Jan 15 10:33:32 2019 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F176C1484B6B for ; Tue, 15 Jan 2019 10:33:31 +0000 (UTC) (envelope-from iam@sdf.org) Received: from mx.sdf.org (mx.sdf.org [205.166.94.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx.sdf.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B124281220 for ; Tue, 15 Jan 2019 10:33:30 +0000 (UTC) (envelope-from iam@sdf.org) Received: from sdf.org (IDENT:iam@sdf.lonestar.org [205.166.94.16]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id x0FAXCZ4007132 (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256 bits) verified NO) for ; Tue, 15 Jan 2019 10:33:12 GMT Received: (from iam@localhost) by sdf.org (8.15.2/8.12.8/Submit) id x0FAXCeg027256 for freebsd-questions@freebsd.org; Tue, 15 Jan 2019 10:33:12 GMT Date: Tue, 15 Jan 2019 10:33:12 GMT From: iam@sdf.org Message-Id: <201901151033.x0FAXCeg027256@sdf.org> To: freebsd-questions@freebsd.org Subject: what is libc? X-Rspamd-Queue-Id: B124281220 X-Spamd-Bar: ++++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [4.87 / 15.00]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_SPAM_SHORT(0.97)[0.968,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-questions@freebsd.org]; TO_DN_NONE(0.00)[]; AUTH_NA(1.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; MX_GOOD(-0.01)[mx.sdf.org]; NEURAL_SPAM_LONG(0.95)[0.948,0]; RCVD_IN_DNSWL_NONE(0.00)[20.94.166.205.list.dnswl.org : 127.0.10.0]; FROM_NO_DN(0.00)[]; NEURAL_SPAM_MEDIUM(0.91)[0.911,0]; R_SPF_NA(0.00)[]; DMARC_NA(0.00)[sdf.org]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:14361, ipnet:205.166.94.0/24, country:US]; MID_RHS_MATCH_FROM(0.00)[]; IP_SCORE(0.15)[asn: 14361(0.83), country: US(-0.08)] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jan 2019 10:33:32 -0000 i didn't know what to search for, hence directed this to the list. what is libc exactly? is it the only interface between userland and the kernel? or does libc do something more? if yes, may i know what other functions does libc perform? also, if suppose the userland were to be written in say "rust", would it theoretically be possible to write libc in "rust", and then would it have to be called "librust"? if libc isn't only about "c", why isn't it called libsys? would appreciate pointers to material to read to understand the above in more depth than is possible via email. thanks.