@@ -901,6 +901,8 @@ static void register_mdns_service_port_set(void)
901
901
static struct {
902
902
struct arg_str * service ;
903
903
struct arg_str * proto ;
904
+ struct arg_str * instance ;
905
+ struct arg_str * host ;
904
906
struct arg_str * txt ;
905
907
struct arg_end * end ;
906
908
} mdns_txt_replace_args ;
@@ -918,7 +920,16 @@ static int cmd_mdns_service_txt_replace(int argc, char **argv)
918
920
printf ("ERROR: Bad arguments!\n" );
919
921
return 1 ;
920
922
}
921
-
923
+ const char * instance = NULL ;
924
+ if (mdns_txt_replace_args .instance -> count && mdns_txt_replace_args .instance -> sval [0 ]) {
925
+ instance = mdns_txt_replace_args .instance -> sval [0 ];
926
+ printf ("MDNS: Service Instance: %s\n" , instance );
927
+ }
928
+ const char * host = NULL ;
929
+ if (mdns_txt_replace_args .host -> count && mdns_txt_replace_args .host -> sval [0 ]) {
930
+ host = mdns_txt_replace_args .host -> sval [0 ];
931
+ printf ("MDNS: Service for delegated host: %s\n" , host );
932
+ }
922
933
if (mdns_txt_replace_args .txt -> count ) {
923
934
items = _convert_items (mdns_txt_replace_args .txt -> sval , mdns_txt_replace_args .txt -> count );
924
935
if (!items ) {
@@ -927,7 +938,7 @@ static int cmd_mdns_service_txt_replace(int argc, char **argv)
927
938
928
939
}
929
940
}
930
- ESP_ERROR_CHECK ( mdns_service_txt_set ( mdns_txt_replace_args .service -> sval [0 ], mdns_txt_replace_args .proto -> sval [0 ], items , mdns_txt_replace_args .txt -> count ) );
941
+ ESP_ERROR_CHECK ( mdns_service_txt_set_for_host ( instance , mdns_txt_replace_args .service -> sval [0 ], mdns_txt_replace_args .proto -> sval [0 ], host , items , mdns_txt_replace_args .txt -> count ) );
931
942
free (items );
932
943
return 0 ;
933
944
}
@@ -936,8 +947,10 @@ static void register_mdns_service_txt_replace(void)
936
947
{
937
948
mdns_txt_replace_args .service = arg_str1 (NULL , NULL , "<service>" , "MDNS Service" );
938
949
mdns_txt_replace_args .proto = arg_str1 (NULL , NULL , "<proto>" , "IP Protocol" );
950
+ mdns_txt_replace_args .instance = arg_str0 ("i" , "instance" , "<instance>" , "Instance name" );
951
+ mdns_txt_replace_args .host = arg_str0 ("h" , "host" , "<hostname>" , "Service for this (delegated) host" );
939
952
mdns_txt_replace_args .txt = arg_strn (NULL , NULL , "item" , 0 , 30 , "TXT Items (name=value)" );
940
- mdns_txt_replace_args .end = arg_end (2 );
953
+ mdns_txt_replace_args .end = arg_end (5 );
941
954
942
955
const esp_console_cmd_t cmd_txt_set = {
943
956
.command = "mdns_service_txt_replace" ,
@@ -953,6 +966,8 @@ static void register_mdns_service_txt_replace(void)
953
966
static struct {
954
967
struct arg_str * service ;
955
968
struct arg_str * proto ;
969
+ struct arg_str * instance ;
970
+ struct arg_str * host ;
956
971
struct arg_str * var ;
957
972
struct arg_str * value ;
958
973
struct arg_end * end ;
@@ -970,8 +985,18 @@ static int cmd_mdns_service_txt_set(int argc, char **argv)
970
985
printf ("ERROR: Bad arguments!\n" );
971
986
return 1 ;
972
987
}
988
+ const char * instance = NULL ;
989
+ if (mdns_txt_set_args .instance -> count && mdns_txt_set_args .instance -> sval [0 ]) {
990
+ instance = mdns_txt_set_args .instance -> sval [0 ];
991
+ printf ("MDNS: Service Instance: %s\n" , instance );
992
+ }
993
+ const char * host = NULL ;
994
+ if (mdns_txt_set_args .host -> count && mdns_txt_set_args .host -> sval [0 ]) {
995
+ host = mdns_txt_set_args .host -> sval [0 ];
996
+ printf ("MDNS: Service for delegated host: %s\n" , host );
997
+ }
973
998
974
- ESP_ERROR_CHECK ( mdns_service_txt_item_set ( mdns_txt_set_args .service -> sval [0 ], mdns_txt_set_args .proto -> sval [0 ], mdns_txt_set_args .var -> sval [0 ], mdns_txt_set_args .value -> sval [0 ]) );
999
+ ESP_ERROR_CHECK ( mdns_service_txt_item_set_for_host ( instance , mdns_txt_set_args .service -> sval [0 ], mdns_txt_set_args .proto -> sval [0 ], host , mdns_txt_set_args .var -> sval [0 ], mdns_txt_set_args .value -> sval [0 ]) );
975
1000
return 0 ;
976
1001
}
977
1002
@@ -981,7 +1006,9 @@ static void register_mdns_service_txt_set(void)
981
1006
mdns_txt_set_args .proto = arg_str1 (NULL , NULL , "<proto>" , "IP Protocol" );
982
1007
mdns_txt_set_args .var = arg_str1 (NULL , NULL , "<var>" , "Item Name" );
983
1008
mdns_txt_set_args .value = arg_str1 (NULL , NULL , "<value>" , "Item Value" );
984
- mdns_txt_set_args .end = arg_end (2 );
1009
+ mdns_txt_set_args .instance = arg_str0 ("i" , "instance" , "<instance>" , "Instance name" );
1010
+ mdns_txt_set_args .host = arg_str0 ("h" , "host" , "<hostname>" , "Service for this (delegated) host" );
1011
+ mdns_txt_set_args .end = arg_end (6 );
985
1012
986
1013
const esp_console_cmd_t cmd_txt_set = {
987
1014
.command = "mdns_service_txt_set" ,
@@ -998,6 +1025,8 @@ static struct {
998
1025
struct arg_str * service ;
999
1026
struct arg_str * proto ;
1000
1027
struct arg_str * var ;
1028
+ struct arg_str * instance ;
1029
+ struct arg_str * host ;
1001
1030
struct arg_end * end ;
1002
1031
} mdns_txt_remove_args ;
1003
1032
@@ -1013,8 +1042,15 @@ static int cmd_mdns_service_txt_remove(int argc, char **argv)
1013
1042
printf ("ERROR: Bad arguments!\n" );
1014
1043
return 1 ;
1015
1044
}
1016
-
1017
- ESP_ERROR_CHECK ( mdns_service_txt_item_remove (mdns_txt_remove_args .service -> sval [0 ], mdns_txt_remove_args .proto -> sval [0 ], mdns_txt_remove_args .var -> sval [0 ]) );
1045
+ const char * instance = NULL ;
1046
+ if (mdns_txt_remove_args .instance -> count && mdns_txt_remove_args .instance -> sval [0 ]) {
1047
+ instance = mdns_txt_remove_args .instance -> sval [0 ];
1048
+ }
1049
+ const char * host = NULL ;
1050
+ if (mdns_txt_remove_args .host -> count && mdns_txt_remove_args .host -> sval [0 ]) {
1051
+ host = mdns_txt_remove_args .host -> sval [0 ];
1052
+ }
1053
+ ESP_ERROR_CHECK ( mdns_service_txt_item_remove_for_host (instance , mdns_txt_remove_args .service -> sval [0 ], mdns_txt_remove_args .proto -> sval [0 ], host , mdns_txt_remove_args .var -> sval [0 ]) );
1018
1054
return 0 ;
1019
1055
}
1020
1056
@@ -1023,6 +1059,8 @@ static void register_mdns_service_txt_remove(void)
1023
1059
mdns_txt_remove_args .service = arg_str1 (NULL , NULL , "<service>" , "MDNS Service" );
1024
1060
mdns_txt_remove_args .proto = arg_str1 (NULL , NULL , "<proto>" , "IP Protocol" );
1025
1061
mdns_txt_remove_args .var = arg_str1 (NULL , NULL , "<var>" , "Item Name" );
1062
+ mdns_txt_remove_args .instance = arg_str0 ("i" , "instance" , "<instance>" , "Instance name" );
1063
+ mdns_txt_remove_args .host = arg_str0 ("h" , "host" , "<hostname>" , "Service for this (delegated) host" );
1026
1064
mdns_txt_remove_args .end = arg_end (2 );
1027
1065
1028
1066
const esp_console_cmd_t cmd_txt_remove = {
0 commit comments