command.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef COMMAND_H
  2. #define COMMAND_H
  3. // Включение необходимых стандартных библиотек
  4. #include <stdint.h>
  5. #include <stddef.h>
  6. // Определение констант
  7. // Определение макросов
  8. // Объявление глобальных переменных
  9. extern volatile int sockfd;
  10. typedef void (*CommandHandler)(const char*);
  11. // Объявление структур
  12. typedef struct {
  13. const char* command;
  14. CommandHandler handler;
  15. } Command;
  16. // Определяем тип функции преобразования
  17. typedef void (*ConvertFunc)(const char *str, void *output);
  18. // Прототипы функций
  19. void handleCloseSignal(int signal);
  20. void handleFreqCmd(const char* recvBuff);
  21. void handleLdCmd(const char* recvBuff);
  22. void handlePowCmd(const char* recvBuff);
  23. void handleArmCmd(const char* recvBuff);
  24. void handleAttCmd(const char* recvBuff);
  25. void handleIdnCmd(const char* recvBuff);
  26. void processCommand(const char* recvBuff);
  27. void convertToUInt16(const char *str, void *output);
  28. void convertToUint64(const char *str, void *output);
  29. void convertToDouble(const char *str, void *output);
  30. void splitLexeme(const char *ptrSCPI, void *numOutAndValue, size_t elementSize, ConvertFunc convertFunc);
  31. #endif /* COMMAND_H */