On Friday 10 September 2021 15:37:54 Alejandro Colomar (man-pages) wrote: > Hi, Pali! > > On 8/31/21 10:34 PM, Pali Rohár wrote: > > On Tuesday 10 August 2021 21:49:28 Pali Rohár wrote: > > > Setting custom baudrate for which is not defined Bnnn constant is possible > > > via BOTHER flag and then filling speed in c_ospeed and c_ispeed fields. > > > > > > These two fields are either in struct termios or struct termios2. Former > > > belongs to TCGETS/TCSETS ioctls, latter to TCGETS2/TCSETS2 ioctls. > > > > > > BOTHER flag with these two fields and new struct termios2 is not supported > > > by older versions of include header files. > > > > > > Some architectures (e.g. amd64) provide both struct termios and struct > > > termios2, but c_ospeed and c_ispeed are only in struct termios2. > > > > > > Some other architectures (e.g. alpha) provide both struct termios and struct > > > termios2 and both have c_ospeed and c_ispeed fields. > > > > > > And some other architectures (e.g. powerpc) provide only struct termios > > > (no struct termios2) and it has c_ospeed and c_ispeed fields. > > > > > > So basically to support all architectures it is needed to use > > > struct termios2 when TCGETS2/TCSETS2 is supported. Otherwise it is needed > > > to use struct termios with TCGETS/TCSETS (case for e.g. powerpc). > > > > > > Setting input baudrate is done via IBSHIFT macro. > > > > > > Signed-off-by: Pali Rohár <pali@xxxxxxxxxx> > > > > Hello! Do you have any comments on this patch? > > Sorry, I started to fix the licensing issues Greg pointed out, and forgot > about this. > > I assume it's good since you have been doing a lot of related work in recent > patches. I'll only point out a cosmetic issue with the preprocessor stuff: > I'd indent with a single space after '#' to clarify preprocessor #if #else > #endif relationships and improve readability. I also prefer '#if > [!]defined()' rather than '#if[n]def' (except for include guards); and there > seems to be a mix in the existing pages, so I'll standardize that way from > now on. > > For example: > > #if !defined a > #else > # if defined b > # endif > #endif > > However, I applied those changes myself in a following patch, so you don't > worry about them. Ok, perfect, thanks! > Patch applied! > > Thanks, > > Alex