| $ sudo find / -name "modbus\.h" /usr/include/modbus/modbus.h
 | 
 
| $ ll /usr/lib/x86_64-linux-gnu/libmodbus.so* lrwxrwxrwx 1 root root    18 12월  4 01:53 /usr/lib/x86_64-linux-gnu/libmodbus.so -> libmodbus.so.5.0.5
 lrwxrwxrwx 1 root root    18 12월  4 01:53 /usr/lib/x86_64-linux-gnu/libmodbus.so.5 -> libmodbus.so.5.0.5
 -rw-r--r-- 1 root root 39256 12월  4 01:53 /usr/lib/x86_64-linux-gnu/libmodbus.so.5.0.5
 | 
 
| $ cat Makefile all:
 gcc modbus_tcp_server.c -o modbustcp -I/usr/include/modbus -lmodbus -L/usr/lib/x86_64-linux-gnu
 
 clean:
 rm modbustcp
 | 
 
| $ pkg-config --libs --cflags libmodbus -I/usr/include/modbus -lmodbus
 | 
[링크 : https://github.com/stephane/libmodbus/issues/123]
 
+
modbus_mapping_new_start_address()가 없고 modbus_mapping_new() 있긴 하다..
| $ readelf -Ws /usr/lib/x86_64-linux-gnu/libmodbus.so | grep "modbus_" 48: 0000000000004ce0   222 FUNC    GLOBAL DEFAULT   12 modbus_report_slave_id
 49: 0000000000005320   208 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_check_integrity
 50: 0000000000005050    86 FUNC    GLOBAL DEFAULT   12 modbus_get_byte_from_bits
 51: 0000000000004400   102 FUNC    GLOBAL DEFAULT   12 modbus_read_bits
 52: 0000000000004fd0    38 FUNC    GLOBAL DEFAULT   12 modbus_set_bits_from_byte
 53: 00000000000057e0   183 FUNC    GLOBAL DEFAULT   12 modbus_rtu_set_serial_mode
 54: 00000000000047a0    14 FUNC    GLOBAL DEFAULT   12 modbus_write_register
 55: 00000000000047b0   470 FUNC    GLOBAL DEFAULT   12 modbus_write_bits
 56: 0000000000004470   102 FUNC    GLOBAL DEFAULT   12 modbus_read_input_bits
 57: 0000000000003040  2825 FUNC    GLOBAL DEFAULT   12 modbus_reply
 58: 0000000000004690    94 FUNC    GLOBAL DEFAULT   12 modbus_read_input_registers
 59: 00000000000060d0   490 FUNC    GLOBAL DEFAULT   12 modbus_tcp_pi_listen
 60: 0000000000005ab0     3 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_check_integrity
 61: 00000000000059f0    97 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_build_request_basis
 62: 0000000000005000    69 FUNC    GLOBAL DEFAULT   12 modbus_set_bits_from_bytes
 63: 0000000000006370   150 FUNC    GLOBAL DEFAULT   12 modbus_tcp_pi_accept
 64: 0000000000005a90    13 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_prepare_response_tid
 65: 0000000000004780    24 FUNC    GLOBAL DEFAULT   12 modbus_write_bit
 66: 00000000000050d0    15 FUNC    GLOBAL DEFAULT   12 modbus_set_float
 67: 00000000000050f0     6 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_prepare_response_tid
 68: 0000000000005ae0    13 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_recv
 70: 0000000000005190    11 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_recv
 71: 0000000000208ce0   128 OBJECT  GLOBAL DEFAULT   19 _modbus_tcp_pi_backend
 72: 0000000000005de0   115 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_pre_check_confirmation
 73: 00000000000042e0    10 FUNC    GLOBAL DEFAULT   12 modbus_receive_confirmation
 74: 0000000000208c60   128 OBJECT  GLOBAL DEFAULT   19 _modbus_rtu_backend
 75: 00000000000058e0   258 FUNC    GLOBAL DEFAULT   12 modbus_new_rtu
 76: 0000000000005b70    26 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_close
 77: 0000000000004df0     4 FUNC    GLOBAL DEFAULT   12 modbus_set_debug
 78: 0000000000002dd0     9 FUNC    GLOBAL DEFAULT   12 modbus_set_response_timeout
 80: 0000000000006410   205 FUNC    GLOBAL DEFAULT   12 modbus_new_tcp
 81: 0000000000002730   261 FUNC    GLOBAL DEFAULT   12 modbus_strerror
 82: 00000000000028d0    78 FUNC    GLOBAL DEFAULT   12 modbus_flush
 83: 0000000000005c20   209 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_select
 84: 0000000000002dc0     9 FUNC    GLOBAL DEFAULT   12 modbus_get_response_timeout
 85: 00000000000051a0    31 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_close
 86: 0000000000002de0     9 FUNC    GLOBAL DEFAULT   12 modbus_get_byte_timeout
 87: 0000000000005aa0    12 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_send_msg_pre
 88: 0000000000006f30     4 OBJECT  GLOBAL DEFAULT   14 libmodbus_version_micro
 89: 0000000000005ac0     3 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_filter_request
 90: 0000000000002db0     4 FUNC    GLOBAL DEFAULT   12 modbus_get_socket
 91: 00000000000042d0     7 FUNC    GLOBAL DEFAULT   12 modbus_receive
 92: 0000000000005a60    34 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_build_response_basis
 93: 0000000000004e00   296 FUNC    GLOBAL DEFAULT   12 modbus_mapping_new
 94: 0000000000002e00     8 FUNC    GLOBAL DEFAULT   12 modbus_get_header_length
 95: 0000000000002d50    48 FUNC    GLOBAL DEFAULT   12 _modbus_init_common
 96: 0000000000004620   101 FUNC    GLOBAL DEFAULT   12 modbus_read_registers
 97: 00000000000051d0   209 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_select
 98: 0000000000002e10     7 FUNC    GLOBAL DEFAULT   12 modbus_connect
 99: 0000000000002df0     9 FUNC    GLOBAL DEFAULT   12 modbus_set_byte_timeout
 101: 0000000000004ad0   526 FUNC    GLOBAL DEFAULT   12 modbus_write_and_read_registers
 102: 0000000000002da0     4 FUNC    GLOBAL DEFAULT   12 modbus_set_socket
 103: 0000000000002d90    12 FUNC    GLOBAL DEFAULT   12 modbus_set_error_recovery
 104: 0000000000005fc0   260 FUNC    GLOBAL DEFAULT   12 modbus_tcp_listen
 106: 0000000000005ad0    16 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_send
 107: 0000000000004990   320 FUNC    GLOBAL DEFAULT   12 modbus_write_registers
 108: 0000000000005180    11 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_send
 109: 0000000000006f34     4 OBJECT  GLOBAL DEFAULT   14 libmodbus_version_minor
 110: 00000000000052b0    54 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_filter_request
 111: 0000000000004f30    66 FUNC    GLOBAL DEFAULT   12 modbus_mapping_free
 113: 0000000000006f38     4 OBJECT  GLOBAL DEFAULT   14 libmodbus_version_major
 114: 00000000000058a0    49 FUNC    GLOBAL DEFAULT   12 modbus_rtu_get_serial_mode
 115: 0000000000003b50   231 FUNC    GLOBAL DEFAULT   12 modbus_reply_exception
 116: 0000000000005af0   126 FUNC    GLOBAL DEFAULT   12 _modbus_tcp_flush
 117: 00000000000064e0   328 FUNC    GLOBAL DEFAULT   12 modbus_new_tcp_pi
 118: 00000000000062c0   164 FUNC    GLOBAL DEFAULT   12 modbus_tcp_accept
 119: 0000000000005100   121 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_send_msg_pre
 120: 0000000000002d80     7 FUNC    GLOBAL DEFAULT   12 modbus_set_slave
 121: 0000000000208d60   128 OBJECT  GLOBAL DEFAULT   19 _modbus_tcp_backend
 122: 0000000000002f60   209 FUNC    GLOBAL DEFAULT   12 modbus_send_raw_request
 123: 0000000000002e20    18 FUNC    GLOBAL DEFAULT   12 modbus_close
 124: 00000000000050b0    23 FUNC    GLOBAL DEFAULT   12 modbus_get_float
 125: 00000000000051c0    13 FUNC    GLOBAL DEFAULT   12 _modbus_rtu_flush
 129: 0000000000004dc0    34 FUNC    GLOBAL DEFAULT   12 modbus_free
 | 
 
이름은 libmodbus5 인데 왜 버전은 3.0.6이 나오냐 -_-
[링크 : https://ubuntu.pkgs.org/18.04/ubuntu-universe-amd64/libmodbus5_3.0.6-2_amd64.deb.html]
[링크 : https://github.com/stephane/libmodbus/blob/v3.0.6/tests/unit-test-server.c]
[링크 : https://github.com/stephane/libmodbus/blob/master/tests/unit-test-server.c]