The ?: is called the ternary operator because it takes three operands. It's shorthand for "If the first operand is true, return the value of the second operand, otherwise, return the value of the third."
The & is a bitwise AND. The value returned has a 1 in each bit that is set in both operands. All other bits are zero.
In this example, the low order bit of Tx_Buffer is tested, and if it is set, TX_OUTPUT_PIN is assigned the value SERIAL_1, otherwise SERIAL_0.
BTW, I generally steer away from using the ternary operator. The following is much clearer:
Code:
if (Tx_Buffer & 0x01 == 1)
TX_OUTPUT_PIN = SERIAL_1;
else
TX_OUTPUT_PIN = SERIAL_0;