add header

This commit is contained in:
aynakeya
2025-12-29 21:57:18 +08:00
parent 8e1f6414b9
commit 49650b6401

View File

@@ -1,152 +1,113 @@
#ifndef LIBMIAOSIC_H
#define LIBMIAOSIC_H
/* Code generated by cmd/cgo; DO NOT EDIT. */
/* package github.com/AynaLivePlayer/miaosic/libmiaosic */
#line 1 "cgo-builtin-export-prolog"
#include <stddef.h>
#ifndef GO_CGO_EXPORT_PROLOGUE_H
#define GO_CGO_EXPORT_PROLOGUE_H
#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; ptrdiff_t n; } _GoString_;
#endif
#endif
/* Start of preamble from import "C" comments. */
#line 3 "libmiaosic.go"
#include <stdlib.h>
#include <string.h>
#include "libmiaosic.h"
#line 1 "cgo-generated-wrapper"
/* End of preamble from import "C" comments. */
/* Start of boilerplate cgo prologue. */
#line 1 "cgo-gcc-export-header-prolog"
#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H
typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
typedef long long GoInt64;
typedef unsigned long long GoUint64;
typedef GoInt64 GoInt;
typedef GoUint64 GoUint;
typedef size_t GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
#ifdef _MSC_VER
#include <complex.h>
typedef _Fcomplex GoComplex64;
typedef _Dcomplex GoComplex128;
#else
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;
#endif
/*
static assertion to make sure the file is being used on architecture
at least with matching size of GoInt.
*/
typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef _GoString_ GoString;
#endif
typedef void *GoMap;
typedef void *GoChan;
typedef struct { void *t; void *v; } GoInterface;
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
#endif
/* End of boilerplate cgo prologue. */
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
typedef struct {
char* provider;
char* identifier;
} MiaosicMetaData;
typedef struct {
char* url;
unsigned char* data;
int data_len;
} MiaosicPicture;
typedef struct {
char* title;
char* artist;
MiaosicPicture cover;
char* album;
MiaosicMetaData meta;
} MiaosicMediaInfo;
typedef struct {
char* key;
char* value;
} MiaosicHeaderPair;
typedef struct {
char* url;
char* quality;
MiaosicHeaderPair* headers;
int header_len;
} MiaosicMediaUrl;
typedef struct {
int len;
MiaosicMediaInfo* items;
} MiaosicMediaInfoList;
typedef struct {
int len;
MiaosicMediaUrl* items;
} MiaosicMediaUrlList;
typedef struct {
char* title;
MiaosicMediaInfoList medias;
MiaosicMetaData meta;
} MiaosicPlaylist;
typedef struct {
int matched;
MiaosicMetaData meta;
} MiaosicMatchResult;
typedef struct {
char* url;
char* key;
} MiaosicQrLoginSession;
typedef struct {
int success;
char* message;
} MiaosicQrLoginResult;
typedef struct {
char* lang;
char* lyrics;
} MiaosicLyrics;
typedef struct {
int len;
MiaosicLyrics* items;
} MiaosicLyricsList;
typedef struct {
int value;
} MiaosicBool;
typedef struct {
char* value;
} MiaosicString;
typedef struct {
int len;
char** items;
} MiaosicStringList;
typedef enum {
MIAOSIC_RESULT_NONE = 0,
MIAOSIC_RESULT_BOOL = 1,
MIAOSIC_RESULT_STRING = 2,
MIAOSIC_RESULT_STRING_LIST = 3,
MIAOSIC_RESULT_META = 4,
MIAOSIC_RESULT_MEDIA_INFO = 5,
MIAOSIC_RESULT_MEDIA_INFO_LIST = 6,
MIAOSIC_RESULT_MEDIA_URL_LIST = 7,
MIAOSIC_RESULT_PLAYLIST = 8,
MIAOSIC_RESULT_MATCH = 9,
MIAOSIC_RESULT_QR_LOGIN_SESSION = 10,
MIAOSIC_RESULT_QR_LOGIN_RESULT = 11,
MIAOSIC_RESULT_LYRICS_LIST = 12
} MiaosicResultType;
typedef struct {
int ok;
char* err;
MiaosicResultType result_type;
void* data;
} MiaosicResult;
void FreeResult(MiaosicResult* res);
MiaosicResult* SearchByProvider(const char* provider, const char* keyword, int page, int size);
MiaosicResult* GetMediaUrl(const char* provider, const char* identifier, const char* quality);
MiaosicResult* GetMediaInfo(const char* provider, const char* identifier);
MiaosicResult* GetMediaLyric(const char* provider, const char* identifier);
MiaosicResult* MatchPlaylistByProvider(const char* provider, const char* uri);
MiaosicResult* GetPlaylist(const char* provider, const char* identifier);
MiaosicResult* MatchMedia(const char* keyword);
MiaosicResult* MatchMediaByProvider(const char* provider, const char* uri);
MiaosicResult* ListAvailableProviders(void);
MiaosicResult* LoginByProvider(const char* provider, const char* username, const char* password);
MiaosicResult* LogoutByProvider(const char* provider);
MiaosicResult* IsLoginByProvider(const char* provider);
MiaosicResult* RefreshLoginByProvider(const char* provider);
MiaosicResult* QrLoginByProvider(const char* provider);
MiaosicResult* QrLoginVerifyByProvider(const char* provider, const char* key, const char* url);
MiaosicResult* RestoreSessionByProvider(const char* provider, const char* session);
MiaosicResult* SaveSessionByProvider(const char* provider);
MiaosicResult* UseBilibiliVideo(void);
MiaosicResult* UseKugou(void);
MiaosicResult* UseKugouInstrumental(void);
MiaosicResult* UseKuwo(void);
MiaosicResult* UseNetease(void);
MiaosicResult* UseQQLogin(void);
MiaosicResult* UseWechatLogin(void);
MiaosicResult* UseLocal(const char* local_dir);
extern void FreeResult(MiaosicResult* res);
extern MiaosicResult* SearchByProvider(char* provider, char* keyword, int page, int size);
extern MiaosicResult* GetMediaUrl(char* provider, char* identifier, char* quality);
extern MiaosicResult* GetMediaInfo(char* provider, char* identifier);
extern MiaosicResult* GetMediaLyric(char* provider, char* identifier);
extern MiaosicResult* MatchPlaylistByProvider(char* provider, char* uri);
extern MiaosicResult* GetPlaylist(char* provider, char* identifier);
extern MiaosicResult* MatchMedia(char* keyword);
extern MiaosicResult* MatchMediaByProvider(char* provider, char* uri);
extern MiaosicResult* ListAvailableProviders();
extern MiaosicResult* LoginByProvider(char* provider, char* username, char* password);
extern MiaosicResult* LogoutByProvider(char* provider);
extern MiaosicResult* IsLoginByProvider(char* provider);
extern MiaosicResult* RefreshLoginByProvider(char* provider);
extern MiaosicResult* QrLoginByProvider(char* provider);
extern MiaosicResult* QrLoginVerifyByProvider(char* provider, char* key, char* url);
extern MiaosicResult* RestoreSessionByProvider(char* provider, char* session);
extern MiaosicResult* SaveSessionByProvider(char* provider);
extern MiaosicResult* UseBilibiliVideo();
extern MiaosicResult* UseKugou();
extern MiaosicResult* UseKugouInstrumental();
extern MiaosicResult* UseKuwo();
extern MiaosicResult* UseNetease();
extern MiaosicResult* UseQQLogin();
extern MiaosicResult* UseWechatLogin();
extern MiaosicResult* UseLocal(char* localDir);
#ifdef __cplusplus
}
#endif
#endif