2026-03-16 22:42:30 +06:30
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
2026-03-18 14:36:16 +06:30
|
|
|
/*
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
*/
|
2026-03-16 22:42:30 +06:30
|
|
|
"C"
|
|
|
|
|
"encoding/json"
|
|
|
|
|
"log"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Reply struct {
|
|
|
|
|
Status int `json:"status"`
|
|
|
|
|
Err string `json:"err"`
|
|
|
|
|
Result interface{} `json:"result"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewErr(err error) *C.char {
|
|
|
|
|
e := Reply{Status: 1, Err: err.Error()}
|
|
|
|
|
b, err := json.Marshal(e)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println("Error json.Marshal:", err.Error())
|
|
|
|
|
}
|
|
|
|
|
return C.CString(string(b))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewOk(data interface{}) *C.char {
|
|
|
|
|
e := Reply{Status: 0, Result: data}
|
|
|
|
|
b, err := json.Marshal(e)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println("Error json.Marshal:", err.Error())
|
|
|
|
|
}
|
|
|
|
|
return C.CString(string(b))
|
|
|
|
|
}
|