From 49650b64018d219d9bf1acde99dd5358be201da2 Mon Sep 17 00:00:00 2001 From: aynakeya Date: Mon, 29 Dec 2025 21:57:18 +0800 Subject: [PATCH] add header --- libmiaosic/libmiaosic.h | 247 +++++++++++++++++----------------------- 1 file changed, 104 insertions(+), 143 deletions(-) diff --git a/libmiaosic/libmiaosic.h b/libmiaosic/libmiaosic.h index 88b1fcc..7b9e5a0 100644 --- a/libmiaosic/libmiaosic.h +++ b/libmiaosic/libmiaosic.h @@ -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 + +#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 +#include +#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 +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 - -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