/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
#ifndef mozilla_net_http_sfv_ffi_generated_h
#define mozilla_net_http_sfv_ffi_generated_h
/* Generated with cbindgen:0.29.1 */
/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen. See RunCbindgen.py */
#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <ostream>
#include <new>
#include "nsStringFwd.h"
#include "nsTArrayForwardDeclare.h"
namespace mozilla {
namespace net {
namespace SFV {
struct SFVDictHandle;
struct SFVInnerListHandle;
struct SFVItemHandle;
struct SFVListHandle;
extern "C" {
nsresult sfv_parse_item_token(const nsACString *input, nsACString *output);
nsresult sfv_parse_item_string(const nsACString *input, nsACString *output);
nsresult sfv_parse_item_byte_seq(const nsACString *input, nsACString *output);
nsresult sfv_parse_item_integer(const nsACString *input, int64_t *output);
nsresult sfv_parse_item_decimal(const nsACString *input, double *output);
nsresult sfv_parse_item_bool(const nsACString *input, bool *output);
nsresult sfv_parse_dict(const nsACString *input, SFVDictHandle **out_dict);
nsresult sfv_dict_get_keys(const SFVDictHandle *dict, nsTArray<nsCString> *keys);
nsresult sfv_dict_get_token(const SFVDictHandle *dict, const nsACString *key, nsACString *output);
nsresult sfv_dict_get_string(const SFVDictHandle *dict, const nsACString *key, nsACString *output);
nsresult sfv_dict_get_byte_seq(const SFVDictHandle *dict,
const nsACString *key,
nsACString *output);
nsresult sfv_dict_get_integer(const SFVDictHandle *dict, const nsACString *key, int64_t *output);
nsresult sfv_dict_get_decimal(const SFVDictHandle *dict, const nsACString *key, double *output);
nsresult sfv_dict_get_bool(const SFVDictHandle *dict, const nsACString *key, bool *output);
nsresult sfv_dict_get_inner_list(const SFVDictHandle *dict,
const nsACString *key,
SFVInnerListHandle **out_inner_list);
void sfv_dict_free(SFVDictHandle *dict);
nsresult sfv_inner_list_length(const SFVInnerListHandle *inner_list, uintptr_t *length);
nsresult sfv_inner_list_get_item_at(const SFVInnerListHandle *inner_list,
uintptr_t index,
SFVItemHandle **out_item);
void sfv_inner_list_free(SFVInnerListHandle *inner_list);
nsresult sfv_parse_item_with_params(const nsACString *input, SFVItemHandle **out_item);
nsresult sfv_item_get_token(const SFVItemHandle *item, nsACString *output);
nsresult sfv_item_get_string(const SFVItemHandle *item, nsACString *output);
nsresult sfv_item_get_integer(const SFVItemHandle *item, int64_t *output);
nsresult sfv_item_get_bool(const SFVItemHandle *item, bool *output);
nsresult sfv_item_get_decimal(const SFVItemHandle *item, double *output);
nsresult sfv_item_get_byte_seq(const SFVItemHandle *item, nsACString *output);
nsresult sfv_item_get_param_keys(const SFVItemHandle *item, nsTArray<nsCString> *keys);
nsresult sfv_item_get_param_token(const SFVItemHandle *item,
const nsACString *key,
nsACString *output);
nsresult sfv_item_get_param_string(const SFVItemHandle *item,
const nsACString *key,
nsACString *output);
nsresult sfv_item_get_param_integer(const SFVItemHandle *item,
const nsACString *key,
int64_t *output);
nsresult sfv_item_get_param_bool(const SFVItemHandle *item, const nsACString *key, bool *output);
nsresult sfv_item_get_param_decimal(const SFVItemHandle *item,
const nsACString *key,
double *output);
nsresult sfv_item_get_param_byte_seq(const SFVItemHandle *item,
const nsACString *key,
nsACString *output);
void sfv_item_free(SFVItemHandle *item);
nsresult sfv_parse_list(const nsACString *input, SFVListHandle **out_list);
nsresult sfv_list_length(const SFVListHandle *list, uintptr_t *length);
nsresult sfv_list_get_item_at(const SFVListHandle *list, uintptr_t index, SFVItemHandle **out_item);
nsresult sfv_list_get_inner_list_at(const SFVListHandle *list,
uintptr_t index,
SFVInnerListHandle **out_inner_list);
void sfv_list_free(SFVListHandle *list);
} // extern "C"
} // namespace SFV
} // namespace net
} // namespace mozilla
#endif // mozilla_net_http_sfv_ffi_generated_h