vllm-cpp-sys 0.0.1

Raw FFI bindings and native build integration for the stable vllm.cpp C API
Documentation
#include <vllm.h>

#include <stddef.h>
#include <stdio.h>

#define PRINT_LAYOUT(type)                                                     \
  printf(#type " %zu %zu\n", sizeof(type), _Alignof(type))
#define PRINT_OFFSET(type, field)                                              \
  printf(#type "." #field " %zu\n", offsetof(type, field))

int main(void) {
  PRINT_LAYOUT(vllm_status);

  PRINT_LAYOUT(vllm_model_params);
  PRINT_OFFSET(vllm_model_params, model_path);
  PRINT_OFFSET(vllm_model_params, tokenizer_config_path);
  PRINT_OFFSET(vllm_model_params, block_size);
  PRINT_OFFSET(vllm_model_params, num_blocks);
  PRINT_OFFSET(vllm_model_params, max_model_len);
  PRINT_OFFSET(vllm_model_params, max_num_seqs);
  PRINT_OFFSET(vllm_model_params, tool_parser);
  PRINT_OFFSET(vllm_model_params, reasoning_parser);
  PRINT_OFFSET(vllm_model_params, speculative_config);
  PRINT_OFFSET(vllm_model_params, enable_prefix_caching);
  PRINT_OFFSET(vllm_model_params, max_num_batched_tokens);
  PRINT_OFFSET(vllm_model_params, scheduling_policy);
  PRINT_OFFSET(vllm_model_params, kv_transfer_config);
  PRINT_OFFSET(vllm_model_params, enable_jump_forward);

  PRINT_LAYOUT(vllm_sampling_params);
  PRINT_OFFSET(vllm_sampling_params, temperature);
  PRINT_OFFSET(vllm_sampling_params, top_p);
  PRINT_OFFSET(vllm_sampling_params, top_k);
  PRINT_OFFSET(vllm_sampling_params, min_p);
  PRINT_OFFSET(vllm_sampling_params, max_tokens);
  PRINT_OFFSET(vllm_sampling_params, seed);
  PRINT_OFFSET(vllm_sampling_params, has_seed);
  PRINT_OFFSET(vllm_sampling_params, presence_penalty);
  PRINT_OFFSET(vllm_sampling_params, frequency_penalty);
  PRINT_OFFSET(vllm_sampling_params, repetition_penalty);
  PRINT_OFFSET(vllm_sampling_params, min_tokens);
  PRINT_OFFSET(vllm_sampling_params, ignore_eos);
  PRINT_OFFSET(vllm_sampling_params, stop);
  PRINT_OFFSET(vllm_sampling_params, n_stop);
  PRINT_OFFSET(vllm_sampling_params, structured_json);
  PRINT_OFFSET(vllm_sampling_params, structured_regex);
  PRINT_OFFSET(vllm_sampling_params, structured_choice);
  PRINT_OFFSET(vllm_sampling_params, n_structured_choice);
  PRINT_OFFSET(vllm_sampling_params, structured_grammar);
  PRINT_OFFSET(vllm_sampling_params, structured_json_object);
  PRINT_OFFSET(vllm_sampling_params, logits_processor);
  PRINT_OFFSET(vllm_sampling_params, logits_processor_user_data);

  PRINT_LAYOUT(vllm_completion);
  PRINT_OFFSET(vllm_completion, text);
  PRINT_OFFSET(vllm_completion, finish_reason);
  PRINT_OFFSET(vllm_completion, prompt_tokens);
  PRINT_OFFSET(vllm_completion, completion_tokens);

  PRINT_LAYOUT(vllm_token_callback);
  PRINT_LAYOUT(vllm_logits_processor);
  return 0;
}