Structures & Enumerations

Common

enum LogTypes

Values:

enumerator LogType_NONE

Logging is disabled.

enumerator LogType_FILE

Log to regular log file.

enumerator LogType_CONSOLE

Log to standard output / error.

enumerator LogType_USERLOGGING

User defined logging. Will call the ServerLibFunctions::onUserLoggingMessageEvent callback for every message to be logged.

enumerator LogType_NO_NETLOGGING

Not used.

enumerator LogType_DATABASE

Log to database (deprecated, server only, no effect in SDK)

enumerator LogType_SYSLOG

Log to syslog (only available on Linux)

enum ReasonIdentifier

Values:

enumerator REASON_NONE

no reason data

enumerator REASON_MOVED

client was moved

enumerator REASON_SUBSCRIPTION
enumerator REASON_LOST_CONNECTION
enumerator REASON_KICK_CHANNEL
enumerator REASON_KICK_SERVER
enumerator REASON_KICK_SERVER_BAN
enumerator REASON_SERVERSTOP
enumerator REASON_CLIENTDISCONNECT
enumerator REASON_CHANNELUPDATE
enumerator REASON_CHANNELEDIT
enumerator REASON_CLIENTDISCONNECT_SERVER_SHUTDOWN

Client

enum ConnectStatus

Values:

enumerator STATUS_DISCONNECTED

There is no activity to the server, this is the default value.

enumerator STATUS_CONNECTING

We are trying to connect, we haven’t got a client id yet, we haven’t been accepted by the server.

enumerator STATUS_CONNECTED

The server has accepted us, we can talk and hear and we have a client id, but we don’t have the channels and clients yet, we can get server infos (welcome msg etc.)

enumerator STATUS_CONNECTION_ESTABLISHING

we are connected and we are visible

enumerator STATUS_CONNECTION_ESTABLISHED

we are connected and we have the client and channels available

enum Visibility

Values:

enumerator ENTER_VISIBILITY

Client joined from an unsubscribed channel, or joined the server.

enumerator RETAIN_VISIBILITY

Client switched from one subscribed channel to a different subscribed channel.

enumerator LEAVE_VISIBILITY

Client switches to an unsubscribed channel, or disconnected from server.

Voice

enum TalkStatus

Values:

enumerator STATUS_NOT_TALKING

client is not talking

enumerator STATUS_TALKING

client is talking

enumerator STATUS_TALKING_WHILE_DISABLED

client is talking while the microphone is muted (only valid for own client)

enum MuteInputStatus

Values:

enumerator MUTEINPUT_NONE

Microphone is not muted, audio is sent to the server.

enumerator MUTEINPUT_MUTED

Microphone is muted, no audio is transmitted to the server.

enum MuteOutputStatus

Values:

enumerator MUTEOUTPUT_NONE

Speaker is active, server is sending us audio.

enumerator MUTEOUTPUT_MUTED

Speaker is muted, server is not sending audio to us.

enum HardwareInputStatus

Values:

enumerator HARDWAREINPUT_DISABLED

no capture device opened

enumerator HARDWAREINPUT_ENABLED

capture device open

enum HardwareOutputStatus

Values:

enumerator HARDWAREOUTPUT_DISABLED

no playback device opened

enumerator HARDWAREOUTPUT_ENABLED

playback device open

enum InputDeactivationStatus

Values:

enumerator INPUT_ACTIVE

Audio is captured from the capture device.

enumerator INPUT_DEACTIVATED

No audio is captured from the capture device.

enum LocalTestMode

Values:

enumerator TEST_MODE_OFF
enumerator TEST_MODE_VOICE_LOCAL_ONLY
enumerator TEST_MODE_VOICE_LOCAL_AND_REMOTE
enumerator TEST_MODE_TALK_STATUS_CHANGES_ONLY

Codecs

enum CodecType

Values:

enumerator CODEC_SPEEX_NARROWBAND

(deprecated) mono, 16bit, 8kHz, bitrate dependent on the quality setting

enumerator CODEC_SPEEX_WIDEBAND

(deprecated) mono, 16bit, 16kHz, bitrate dependent on the quality setting

enumerator CODEC_SPEEX_ULTRAWIDEBAND

(deprecated) mono, 16bit, 32kHz, bitrate dependent on the quality setting

enumerator CODEC_CELT_MONO

(deprecated) mono, 16bit, 48kHz, bitrate dependent on the quality setting

enumerator CODEC_OPUS_VOICE

mono, 16bit, 48khz, bitrate dependent on the quality setting, optimized for voice

enumerator CODEC_OPUS_MUSIC

stereo, 16bit, 48khz, bitrate dependent on the quality setting, optimized for music

enum CodecEncryptionMode

Values:

enumerator CODEC_ENCRYPTION_PER_CHANNEL

voice data encryption decided per channel

enumerator CODEC_ENCRYPTION_FORCED_OFF

voice data encryption disabled

enumerator CODEC_ENCRYPTION_FORCED_ON

voice data encryption enabled

Text messaging

enum TextMessageTargetMode

Values:

enumerator TextMessageTarget_CLIENT

Message is a private message to another client.

enumerator TextMessageTarget_CHANNEL

Message is sent to a channel, received by all clients in that channel at the time.

enumerator TextMessageTarget_SERVER

Message is sent to every client on the server.

enumerator TextMessageTarget_MAX

File Transfer

enum FileTransferState

Values:

enumerator FILETRANSFER_INITIALISING

File transfer is establishing connection.

enumerator FILETRANSFER_ACTIVE

File transfer is in progress.

enumerator FILETRANSFER_FINISHED

File transfer has finished.

enum FileTransferType

Values:

enumerator FileListType_Directory

The file entry is a directory.

enumerator FileListType_File

The file entry is a regular file.

enum FTAction

Values:

enumerator FT_INIT_SERVER

The virtual server is created. result->channelPath can be changed to create a different directory than the default ‘virtualserver_x’ where x is the virtual server.

enumerator FT_INIT_CHANNEL

A channel is created. result->channelPath can be changed to create a different directory then the default ‘channel_x’ where x is the channel id.

enumerator FT_UPLOAD

A file is being uploaded. All values in the result struct can be modified.

enumerator FT_DOWNLOAD

A file is being downloaded. All values in the result struct can be modified.

enumerator FT_DELETE

A file is being deleted. All values in the result struct can be modified.

enumerator FT_CREATEDIR

A directory is being created in a channel. All values in the result struct can be modified.

enumerator FT_RENAME

A file or folder is being renamed. The callback will be called twice! Once for the old and then for the new name. All values in the result struct can be modified.

enumerator FT_FILELIST

A directory listing is requested. All values in the result struct can be modified.

enumerator FT_FILEINFO

Information of a file is requested. All values in the result struct can be modified.

struct FileTransferCallbackExport

Public Members

anyID clientID

the client who started the file transfer

anyID transferID

local identifier of the transfer that has completed

anyID remoteTransferID

remote identifier of the transfer that has completed

unsigned int status

status of the transfer. One of the values from the FileTransferState enum

const char *statusMessage

utf8 encoded c string containing a human readable description of the status

uint64 remotefileSize

size in bytes of the complete file to be transferred

uint64 bytes

number of bytes transferred. Same as remotefileSize when the transfer completed entirely.

int isSender

boolean. 1 if the server is sending the file. 0 if the server is receiving the file.

struct TransformFilePathExport

Structure used to describe a file transfer in the ServerLibFunctions::onTransformFilePath callback. This describes the original values, and also contains hints for length limitations of the result parameter of the callback.

Important

Which values of the struct can be modified is defined by the action value of the original parameter.

Public Members

uint64 channel

The channel id of the file. 0 if action is FT_INIT_SERVER.

const char *filename

utf8 encoded c string containing the original file name as intended by the client.

int action

The action to be performed. One of the values from the FTAction enum. Defines which values of the result struct can be modified.

int transformedFileNameMaxSize

The maximum length the file name can be rewritten to.

int channelPathMaxSize

The maximum length the path can be rewritten to.

struct TransformFilePathExportReturns

Structure to rewrite the file transfer file name and path in the ServerLibFunctions::onTransformFilePath callback. The lengths are limited as described in the original parameter.

Important

Which values of the struct can be modified is defined by the action value of the original parameter.

Public Members

char *transformedFileName

pointer to target file name. Fill the memory pointed to with an utf8 encoded c string containing the new file name. Limited to original->transformedFileNameMaxSize bytes.

char *channelPath

pointer to memory for new path. Fill the memory pointed to with an utf8 encoded c string containing the new path. Limited to original->channelPathMaxSize bytes.

int logFileAction

boolean (1/0). Whether to log this file transfer to the log. Action is not logged regardless of this value if the servers VIRTUALSERVER_LOG_FILETRANSFER property is 0.

struct ts3sc_data_ftcreatedir
#include <server_commands_file_transfer.h>

Structure that contains the command data for an ftcreatedir message

Public Members

uint64 channelID

The channel ID where the directory is to be created.

const char *dirname

utf8 encoded c string containing the directory name

struct ts3sc_meta_ftcreatedir
#include <server_commands_file_transfer.h>

Structure that contains the meta data for an ftcreatedir message

Public Members

int RESERVED

This is here because C forbids empty structs. DO NOT USE.

struct ts3sc_ftcreatedir
#include <server_commands_file_transfer.h>

C Structure that contains the meta data and data for an ftcreatedir message

Public Members

struct ts3sc_meta_ftcreatedir m

meta data

struct ts3sc_data_ftcreatedir d

data

struct ts3sc_data_ftdeletefile
#include <server_commands_file_transfer.h>

Structure that contains the command data for an ftdeletefile message

Public Members

uint64 channelID

The channel ID where the file is to be deleted.

struct ts3sc_array_ftdeletefile
#include <server_commands_file_transfer.h>

Structure that contains the repeat command data for an ftdeletefile message

Public Members

const char *fileName

The file name to be deleted.

struct ts3sc_meta_ftdeletefile
#include <server_commands_file_transfer.h>

Structure that contains the meta data for an ftdeletefile message

Public Members

int RESERVED

This is here because C forbids empty structs. DO NOT USE.

struct ts3sc_ftdeletefile
#include <server_commands_file_transfer.h>

C Structure that contains the meta data and data for an ftdeletefile message

Public Members

struct ts3sc_meta_ftdeletefile m

meta data

struct ts3sc_data_ftdeletefile d

data

int r_size

number of items in r

struct ts3sc_array_ftdeletefile *r

repeated data

struct ts3sc_data_ftgetfileinfo
#include <server_commands_file_transfer.h>

Structure that contains the command data for an ftgetfileinfo message

Public Members

int RESERVED

This is here because C forbids empty structs. DO NOT USE.

struct ts3sc_array_ftgetfileinfo
#include <server_commands_file_transfer.h>

Structure that contains the repeat command data for an ftgetfileinfo message

Public Members

uint64 channelID

The channel ID where the file is located.

const char *fileName

utf8 encoded c string containing the file name

struct ts3sc_meta_ftgetfileinfo
#include <server_commands_file_transfer.h>

Structure that contains the meta data for an ftgetfileinfo message

Public Members

int RESERVED

This is here because C forbids empty structs. DO NOT USE

struct ts3sc_ftgetfileinfo
#include <server_commands_file_transfer.h>

C Structure that contains the meta data and data for an ftgetfileinfo message

Public Members

struct ts3sc_meta_ftgetfileinfo m

meta data

struct ts3sc_data_ftgetfileinfo d

data

int r_size

number of items in r

struct ts3sc_array_ftgetfileinfo *r

repeated data

struct ts3sc_data_ftgetfilelist
#include <server_commands_file_transfer.h>

Structure that contains the command data for an ftgetfilelist message

Public Members

uint64 channelID

The channel ID.

const char *path

utf8 encoded c string containing the path to get the files and directories in

struct ts3sc_meta_ftgetfilelist
#include <server_commands_file_transfer.h>

Structure that contains the meta data for an ftgetfilelist message

Public Members

int RESERVED

This is here because C forbids empty structs. DO NOT USE.

struct ts3sc_ftgetfilelist
#include <server_commands_file_transfer.h>

C Structure that contains the meta data and data for an ftgetfilelist message

Public Members

struct ts3sc_meta_ftgetfilelist m

meta data

struct ts3sc_data_ftgetfilelist d

data

struct ts3sc_data_ftinitdownload
#include <server_commands_file_transfer.h>

Structure that contains the command data for an ftinitdownload message

Public Members

const char *fileName

The file name.

uint64 channelID

The channel ID where the file is to be downloaded from.

struct ts3sc_meta_ftinitdownload
#include <server_commands_file_transfer.h>

Structure that contains the meta data for an ftinitdownload message

Public Members

int RESERVED

This is here because C forbids empty structs. DO NOT USE.

struct ts3sc_ftinitdownload
#include <server_commands_file_transfer.h>

C Structure that contains the meta data and data for an ftinitdownload message

Public Members

struct ts3sc_meta_ftinitdownload m

meta data

struct ts3sc_data_ftinitdownload d

data

struct ts3sc_data_ftinitupload
#include <server_commands_file_transfer.h>

Structure that contains the command data for an ftinitupload message

Public Members

const char *fileName

The file name.

uint64 fileSize

The file size.

uint64 channelID

The channel ID where the file is to be uploaded.

int overwrite

Set to 1 to overwrite files, 0 to prevent overwrites. Mutually exclusive with resume.

int resume

Set to 1 to resume an existing upload, 0 to start from scratch. Mutually exclusive with overwrite.

struct ts3sc_meta_ftinitupload
#include <server_commands_file_transfer.h>

Structure that contains the meta data for an ftinitupload message

Public Members

int RESERVED

This is here because C forbids empty structs. DO NOT USE.

struct ts3sc_ftinitupload
#include <server_commands_file_transfer.h>

C Structure that contains the meta data and data for an ftinitupload message

Public Members

struct ts3sc_meta_ftinitupload m

message meta data

struct ts3sc_data_ftinitupload d

message data

struct ts3sc_data_ftrenamefile
#include <server_commands_file_transfer.h>

Structure that contains the command data for an ftrenamefile message

Public Members

uint64 fromChannelID

The channel ID where the file is located now.

uint64 toChannelID

The channel ID where the file is to be moved to.

const char *oldFileName

utf8 encoded c string containing the current file name

const char *newFileName

utf8 encoded c string containing the new file name

struct ts3sc_meta_ftrenamefile
#include <server_commands_file_transfer.h>

Structure that contains the meta data for an ftrenamefile message

Public Members

unsigned int has_toChannelID

boolean. 1 if the file is to be moved to a different channel.

struct ts3sc_ftrenamefile
#include <server_commands_file_transfer.h>

C Structure that contains the meta data and data for an ftrenamefile message

Public Members

struct ts3sc_meta_ftrenamefile m

message meta data

struct ts3sc_data_ftrenamefile d

message data

Whisper

enum GroupWhisperType

Values:

enumerator GROUPWHISPERTYPE_SERVERGROUP

Whisper list consists of server groups.

enumerator GROUPWHISPERTYPE_CHANNELGROUP

Whisper list consists of channel groups.

enumerator GROUPWHISPERTYPE_CHANNELCOMMANDER

whisper to channel commanders

enumerator GROUPWHISPERTYPE_ALLCLIENTS

whisper to all clients

enumerator GROUPWHISPERTYPE_ENDMARKER
enum GroupWhisperTargetMode

Values:

enumerator GROUPWHISPERTARGETMODE_ALL
enumerator GROUPWHISPERTARGETMODE_CURRENTCHANNEL

Whisper the current channel of the client.

enumerator GROUPWHISPERTARGETMODE_PARENTCHANNEL

Whisper the parent channel of whatever channel the client is currently in.

enumerator GROUPWHISPERTARGETMODE_ALLPARENTCHANNELS

Whipser to the parent channel and all their parent channels as well.

enumerator GROUPWHISPERTARGETMODE_CHANNELFAMILY

Whisper to the current channel and all its sub channels.

enumerator GROUPWHISPERTARGETMODE_ANCESTORCHANNELFAMILY

Whisper to the current channel, all its parent and sub channels.

enumerator GROUPWHISPERTARGETMODE_SUBCHANNELS

Whisper to all sub channels of the current channel of the client.

enumerator GROUPWHISPERTARGETMODE_ENDMARKER

Server

enum ClientCommand

Values:

enumerator CLIENT_COMMAND_requestConnectionInfo

disable client connection info request (client bandwidth usage, ip, port, ping)

enumerator CLIENT_COMMAND_requestClientMove

disable moving clients

enumerator CLIENT_COMMAND_requestXXMuteClients

disable muting other clients

enumerator CLIENT_COMMAND_requestClientKickFromXXX

disable kicking clients

enumerator CLIENT_COMMAND_flushChannelCreation

disable creating channels

enumerator CLIENT_COMMAND_flushChannelUpdates

disable editing channels

enumerator CLIENT_COMMAND_requestChannelMove

disable moving channels

enumerator CLIENT_COMMAND_requestChannelDelete

disable deleting channels

enumerator CLIENT_COMMAND_requestChannelDescription

disable channel descriptions

enumerator CLIENT_COMMAND_requestChannelXXSubscribeXXX

disable being able to see clients in channels other than the current channel the client is in

enumerator CLIENT_COMMAND_requestServerConnectionInfo

disable server connection info request (server bandwidth usage, ip, port, ping)

enumerator CLIENT_COMMAND_requestSendXXXTextMsg

disable text messaging

enumerator CLIENT_COMMAND_filetransfers

disable file transfer

enumerator CLIENT_COMMAND_ENDMARKER
enum SecuritySaltOptions

Values:

enumerator SECURITY_SALT_CHECK_NICKNAME

put nickname into security hash

enumerator SECURITY_SALT_CHECK_META_DATA

put meta data into security hash

struct ClientMiniExport

Public Members

anyID ID

id of the client

uint64 channel

the channel the client is in

const char *ident

client public identity

const char *nickname

client display name

struct VariablesExportItem

Public Members

unsigned char itemIsValid

Whether or not there is any data in this item. Ignore this item if this is 0.

unsigned char proposedIsSet

The value in proposed is set. If 0 ignore proposed.

const char *current

current value (stored in memory)

const char *proposed

New value to change to (const, so no updates please)

struct VariablesExport

Public Members

struct VariablesExportItem items[64]