From owner-freebsd-drivers@freebsd.org Mon Sep 24 10:04:50 2018 Return-Path: Delivered-To: freebsd-drivers@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 CC11010A8340 for ; Mon, 24 Sep 2018 10:04:50 +0000 (UTC) (envelope-from fesse@mail.ru) Received: from smtp52.i.mail.ru (smtp52.i.mail.ru [94.100.177.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 60FBB77E20 for ; Mon, 24 Sep 2018 10:04:50 +0000 (UTC) (envelope-from fesse@mail.ru) Received: by smtp52.i.mail.ru with esmtpa (envelope-from ) id 1g4NjM-0006k2-Sk for freebsd-drivers@freebsd.org; Mon, 24 Sep 2018 13:04:41 +0300 Date: Mon, 24 Sep 2018 13:04:39 +0300 From: fesse To: freebsd-drivers@freebsd.org Subject: Meaning of SND_FORMAT macro parameters (used in sound subsystem) Message-Id: <20180924130439.fcf1244b47d668bb632cefb9@mail.ru> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd11.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-7FA49CB5: 0D63561A33F958A5B2F8994611CA88B079CFC50F54B72682CE5E223FC43BDEDF8941B15DA834481FA18204E546F3947CB861051D4BA689FCF6B57BC7E64490618DEB871D839B7333395957E7521B51C2545D4CF71C94A83E9FA2833FD35BB23D27C277FBC8AE2E8BF80095D1E57F4578A471835C12D1D977C4224003CC8364767815B9869FA544D8090A508E0FED62991661749BA6B977352D242C3BD2E3F4C6E0C89D67371282C4A18204E546F3947CEB7D890E3377C531BA3038C0950A5D36581343779C53C132BD4B6F7A4D31EC0B7815B9869FA544D8EC76A7562686271E6BA297DBC24807EA089D37D7C0E48F6C8AA50765F7900637AB284148C4A7EEA4429A6EC72387C178089D37D7C0E48F6C5571747095F342E857739F23D657EF2B6825BDBE14D8E702ABEDDA51113D120200306258E7E6ABB4E4A6367B16DE6309 X-Mailru-Sender: 2B3E4445EA68B43AA08D39482F5388B72742E1506008065D5C830385768904967BA6DE242C35196B018169F45A5A01163DDE9B364B0DF289D592A919D7B92FD208E29FF3D9B2F13D0DA7A0AF5A3A8387 X-Mras: OK X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2018 10:04:51 -0000 Good day to everyone, SND_FORMAT macro is defined in sound.h: #define SND_FORMAT(f, c, e) (AFMTT_ENCODING(f) | (((c) << AFMT_CHANNEL_SHIFT) & AFMT_CHANNEL_MASK) | (((e) << AFMT_EXTCHANNEL_SHIFT) & AFMT_EXTCHANNEL_MASK)). Many sound drivers define data format like this: SND_FORMAT(AFMT_S16_LE, 2, 0); Sound guys, tell me please what means "2" and "0", i.e. "c" and "e" macro arguments. I really in doubt...