I found proto_item_fill_label()... I'm not sure if that gives exactly what I'm looking for or not.
Items that I know give exactly what I want are almost exceptions to any general function:
ip.proto uses ipprototostr()
udp.port, udp.srcport, and udp.dstport use get_udp_port()
tcp.port, tcp.srcport, and tcp.dstport use get_tcp_port()
...
Is any better way than checking a handful of known special cases and then defaulting to proto_item_fill_label?
If that is the best way, is there any way to find the special cases?