def init_function_prototype_for_table():
    """ table """
    lib.tera_table_get.argtypes = [c_void_p, c_char_p, c_uint64,
                                   c_char_p, c_char_p, c_uint64,
                                   POINTER(POINTER(c_ubyte)),
                                   POINTER(c_uint64),
                                   POINTER(c_char_p), c_uint64]
    lib.tera_table_get.restype = c_bool

    lib.tera_table_getint64.argtypes = [c_void_p, c_char_p, c_uint64,
                                        c_char_p, c_char_p, c_uint64,
                                        POINTER(c_int64), POINTER(c_char_p),
                                        c_uint64]
    lib.tera_table_getint64.restype = c_bool

    lib.tera_table_put.argtypes = [c_void_p, c_char_p, c_uint64, c_char_p,
                                   c_char_p, c_uint64, c_char_p, c_uint64,
                                   POINTER(c_char_p)]
    lib.tera_table_put.restype = c_bool

    lib.tera_table_put_kv.argtypes = [c_void_p, c_char_p, c_uint64,
                                      c_char_p, c_uint64, c_int32,
                                      POINTER(c_char_p)]
    lib.tera_table_put_kv.restype = c_bool

    lib.tera_table_putint64.argtypes = [c_void_p, c_char_p, c_uint64, c_char_p,
                                        c_char_p, c_uint64, c_int64,
                                        POINTER(c_char_p)]
    lib.tera_table_putint64.restype = c_bool

    lib.tera_table_scan.argtypes = [c_void_p, c_void_p, POINTER(c_char_p)]
    lib.tera_table_scan.restype = c_void_p

    lib.tera_table_delete.argtypes = [c_void_p, c_char_p, c_uint64,
                                      c_char_p, c_char_p, c_uint64]
    lib.tera_table_delete.restype = c_bool

    lib.tera_table_apply_mutation.argtypes = [c_void_p, c_void_p]
    lib.tera_table_apply_mutation.restype = None

    lib.tera_table_apply_mutation_batch.argtypes = [c_void_p,
                                                    c_void_p,
                                                    c_int64]
    lib.tera_table_apply_mutation_batch.restype = None

    lib.tera_table_is_put_finished.argtypes = [c_void_p]
    lib.tera_table_is_put_finished.restype = c_bool

    lib.tera_table_apply_reader.argtypes = [c_void_p, c_void_p]
    lib.tera_table_apply_reader.restype = None

    lib.tera_table_apply_reader_batch.argtypes = [c_void_p, c_void_p, c_int64]
    lib.tera_table_apply_reader_batch.restype = None

    lib.tera_table_is_get_finished.argtypes = [c_void_p]
    lib.tera_table_is_get_finished.restype = c_bool

    lib.tera_row_mutation.argtypes = [c_void_p, c_char_p, c_uint64]
    lib.tera_row_mutation.restype = c_void_p

    lib.tera_row_mutation_get_status_code.argtypes = [c_void_p]
    lib.tera_row_mutation_get_status_code.restype = c_int64

    lib.tera_row_mutation_destroy.argtypes = [c_void_p]
    lib.tera_row_mutation_destroy.restype = None