mirror of
https://github.com/Drop-OSS/libtailscale-drop.git
synced 2026-02-04 06:51:18 +01:00
This brings it inline with the tsnet change to support proxies. Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
82 lines
2.6 KiB
C
82 lines
2.6 KiB
C
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
#include "tailscale.h"
|
|
|
|
// Functions exported by Go.
|
|
extern int TsnetNewServer();
|
|
extern int TsnetStart(int sd);
|
|
extern int TsnetUp(int sd);
|
|
extern int TsnetClose(int sd);
|
|
extern int TsnetErrmsg(int sd, char* buf, size_t buflen);
|
|
extern int TsnetDial(int sd, char* net, char* addr, int* connOut);
|
|
extern int TsnetSetDir(int sd, char* str);
|
|
extern int TsnetSetHostname(int sd, char* str);
|
|
extern int TsnetSetAuthKey(int sd, char* str);
|
|
extern int TsnetSetControlURL(int sd, char* str);
|
|
extern int TsnetSetEphemeral(int sd, int ephemeral);
|
|
extern int TsnetSetLogFD(int sd, int fd);
|
|
extern int TsnetListen(int sd, char* net, char* addr, int* listenerOut);
|
|
extern int TsnetListenerClose(int ld);
|
|
extern int TsnetAccept(int ld, int* connOut);
|
|
extern int TsnetLoopback(int sd, char* addrOut, size_t addrLen, char* proxyOut, char* localOut);
|
|
|
|
tailscale tailscale_new() {
|
|
return TsnetNewServer();
|
|
}
|
|
|
|
int tailscale_start(tailscale sd) {
|
|
return TsnetStart(sd);
|
|
}
|
|
|
|
int tailscale_up(tailscale sd) {
|
|
return TsnetUp(sd);
|
|
}
|
|
|
|
int tailscale_close(tailscale sd) {
|
|
return TsnetClose(sd);
|
|
}
|
|
|
|
int tailscale_dial(tailscale sd, const char* network, const char* addr, tailscale_conn* conn_out) {
|
|
return TsnetDial(sd, (char*)network, (char*)addr, (int*)conn_out);
|
|
}
|
|
|
|
int tailscale_listen(tailscale sd, const char* network, const char* addr, tailscale_listener* listener_out) {
|
|
return TsnetListen(sd, (char*)network, (char*)addr, (int*)listener_out);
|
|
}
|
|
|
|
int tailscale_listener_close(tailscale_listener ld) {
|
|
return TsnetListenerClose(ld);
|
|
}
|
|
|
|
int tailscale_accept(tailscale_listener ld, tailscale_conn* conn_out) {
|
|
return TsnetAccept(ld, (int*)conn_out);
|
|
}
|
|
|
|
int tailscale_set_dir(tailscale sd, const char* dir) {
|
|
return TsnetSetDir(sd, (char*)dir);
|
|
}
|
|
int tailscale_set_hostname(tailscale sd, const char* hostname) {
|
|
return TsnetSetHostname(sd, (char*)hostname);
|
|
}
|
|
int tailscale_set_authkey(tailscale sd, const char* authkey) {
|
|
return TsnetSetAuthKey(sd, (char*)authkey);
|
|
}
|
|
int tailscale_set_control_url(tailscale sd, const char* control_url) {
|
|
return TsnetSetControlURL(sd, (char*)control_url);
|
|
}
|
|
int tailscale_set_ephemeral(tailscale sd, int ephemeral) {
|
|
return TsnetSetEphemeral(sd, ephemeral);
|
|
}
|
|
int tailscale_set_logfd(tailscale sd, int fd) {
|
|
return TsnetSetLogFD(sd, fd);
|
|
}
|
|
|
|
int tailscale_loopback(tailscale sd, char* addr_out, size_t addrlen, char proxy_cred_out[static 33], char local_api_cred_out[static 33]) {
|
|
return TsnetLoopback(sd, addr_out, addrlen, proxy_cred_out, local_api_cred_out);
|
|
}
|
|
|
|
int tailscale_errmsg(tailscale sd, char* buf, size_t buflen) {
|
|
return TsnetErrmsg(sd, buf, buflen);
|
|
}
|