There's is no such thing as
9 bit RS-232. The road is 8 bits wide, period; you can send 7 bit or 8 bit trucks down it but not 9.
Sometimes you see 8-bit with parity misused to send an extra bit instead of parity. It's a serious pain to communicate with these devices anywhere, the 9th bit ends up coming in as parity error or on a sideband of some sort. You'd use
stty to set serial port settings on a Linux system, but there's no setting to make the 8 bit road 9 bits wide, as your computer uses 8-bit bytes, not 9-bit ones.
Your application is going to have to either be modified or read through a filter.
Linux can do slightly better than having to calculate parity for each byte and check if it's error or not to deduce the 9th bit, but only slightly. See
mark/space parity for a full explanation.