kissdx server => LIST VIDEO ||\n <= directory1|0001 directory1|1|\n (Last 1 means that's a directory) <= movie1|movie1|0|\n (Last 0 digit means a media file) <= EOL\n ./kissdx -s LIST_VIDEO List Video (PCLINK) ./kissdx -s lvi List Video (PCLINK) ./kissdx -s lpi List Picture (PCLINK) ./kissdx -s lau List Audio (PCLINK) ========================================================== === ADMCMD PROTOCOL / ACTION ======= TCP:8003 => kissdx server ================================================================== ./kissdx -s RELOAD_CONFIG Engine reload configuration file ./kissdx -s rlc Configuration reload : shortcut command v1 => RELOAD_CONFIG + close connection v2 => ADMCMD_ACTION|RELOAD_CONFIG|\n <= ADMCMD_ACK|RELOAD_CONFIG|OK\n <= (or) ADMCMD_ACK|RELOAD_CONFIG|ERR Error message\n <= EOL|\n <= close connection by kissdx server [RELOAD_CONFIG Client]kissdx.c => cmdclient.c:deliver_admcmd_reloadconfig => ConnectionId= GetTcpConnection(ADMCMD); => SendTcp ( ConnectionId, ADMCMD_ACTION|ADMCMD_RELOADCONFIG|\n ); if failed, close connection and log => ReceiveTcp ( ConnectionId, (*char) AckResponse ); [RELOAD_CONFIG Server]kissdx.c => cmdserver.c:handle_admincommand_reloadconfig => ParseConf and PrintConfInLog => Reception and treatment in the master daemon => ParseConf and PrintConfInLog => SendTcp (ADMCMD_ACK|ADMCMD_RELOADCONFIG|ADMCMD_SUCC or FAIL (If any error) => Connection close ========================================================== ./kissdx -s STOP Stop the engine and let current played media finish (Shortcut: s) ./kissdx -s s Stop : shortcut command v1 => STOP + close connection v2 => ADMCMD_ACTION|STOP|\n <= ADMCMD_ACK|STOP|OK\n <= EOL|\n Cst: ADMCMD_ACTION + ADMCMD_ACK + ADMCMD_STOP + ADMCMD_SUCC(OK) + ADMCMD_FAIL(ERR) ================================================================== ./kissdx -s FORCESTOP Stop immediatly the engine and all current played media (Shortcut: frs) ./kissdx -s frs Stop immediatly : shortcut command v1 => FORCESTOP + close connection v2 => ADMCMD_ACTION|STOP|\n <= ADMCMD_ACK|STOP|OK\n <= EOL||\n ================================================================== ./kissdx -s GET_TXT_CONFIG Return current configuration in a TEXT format ./kissdx -s gtc Shortcut of GET_TXT_CONFIG => GET_TXT_CONFIG ||\n <= set of string ended by \n finally close the connection ================================================================== ./kissdx -s v1 Set Verbose log level to 1 (1:error 2:warning 3:protocol 4:info 5:debug) ./kissdx -s verror => ADMCMD_SET|CFG_VERBOSE_LOG_LEVEL|[1..5]\n or => ADMCMD_SET|CFG_VERBOSE_LOG_LEVEL|ERROR.WARNING.PROTOCOL.INFORMATION.DEBUG or any first letter\n <= ADMCMD_ACK|CFG_VERBOSE_LOG_LEVEL|ADMCMD_SUCC\n or <= ADMCMD_ACK|CFG_VERBOSE_LOG_LEVEL|ADMCMD_FAIL msg\n =================================================================== == GETTER / SETTER ===== (Documented in ./kissdx -vh) ================== "ADMCMD_SET|CONFIGNAME|VALUE1 VAL2 VAL3\n" "ADMCMD_GET|CONFIGNAME|OPTION1 OPT2 OPT2\n" Option in {TXT,KML,XML}=(Output Format) Some admin command for developpers: -s Setter & Getter ----------------------------------- -s {verror;vwarn;vinfo;vproto;vdebug;v1..v5} Set VerboseLogLevel -s {slisthidden.yes;slisthidden.no;} Set ListHiddenEntry Yes/No -s {scal.yes;scal.no;} Set ConfigAutoLoad Yes/No -s {sdsn.yes;sdsn.no;} Set DisplaySequenceNumber Yes/No -s {gksv;gksvd} Get KissdxServerVersion; KissdxServerVersionDate -s {gverbose;glisthidden} Get VerboseLogLevel; ListHiddenEntry -s {gcal;gdsn} Get ConfigAutoLoad; DisplaySequenceNumber => ADMCMD_GET|LIST_HIDDEN_ENTRY|\n <= ADMCMD_ACK|LIST_HIDDEN_ENTRY|Value\n <= EOL||\n => ADMCMD_SET|CONFIG_AUTOLOAD|YES <= ADMCMD_ACK|CONFIG_AUTOLOAD|OK YES ==================================================================== General Tips ============== * Ending \r\n is optionnal and useless: Just after the socket read, a step of removing ending \r & \n occurs. * kissdx server close socket once an admin command is served. Long conversation is not enable at the moment. Chaining of C code part ================== [RELOAD_CONFIG]kissdx.c => cmdclient.c:deliver_admcmd => TcpSend("RELOAD_CONFIG",8003,NoResponse); CloseConnection; [RELOAD_CONFIG Receiver]kissdx.c => cmdserver.c:handle_admincommand_reloadconfig => ParseConf and PrintConfInLog */ ?>