enum class NinePMessageType(val value: Byte) { TVERSION(100), RVERSION(101), TAUTH(102), RAUTH(103), TATTACH(104), RATTACH(105), //TERROR(106), <--- illegal RERROR(107), TFLUSH(108), RFLUSH(109), TWALK(110), RWALK(111), TOPEN(112), ROPEN(113), TCREATE(114), RCREATE(115), TREAD(116), RREAD(117), TWRITE(118), RWRITE(119), TCLUNK(120), RCLUNK(121), TREMOVE(122), RREMOVE(123), TSTAT(124), RSTAT(125), TWSTAT(126), RWSTAT(127); companion object { fun fromByte(value: Byte) = NinePMessageType.entries.first { it.value == value } } }