/** * Write raw string result to the output * @param context * @param data * @return */ size_t SCPI_ResultCharacters(scpi_t * context, const char * data, size_t len) { size_t result = 0; result += writeDelimiter(context); result += writeData(context, data, len); context->output_count++; return result; }
/** * Write raw string result to the output * @param context * @param data * @return */ size_t SCPI_ResultString(scpi_t * context, const char * data) { size_t len = strlen(data); size_t result = 0; result += writeDelimiter(context); result += writeData(context, data, len); context->output_count++; return result; }
/** * Write raw string result to the output * @param context * @param data * @return */ size_t SCPIParser::SCPI_ResultString(const char * data) { size_t len = strlen(data); size_t result = 0; result += writeDelimiter(); result += writeData(data, len); context.output_count++; return result; }
/** * Write double (64bit) value to the result * @param context * @param val * @return */ size_t SCPI_ResultDouble(scpi_t * context, double val) { char buffer[32]; size_t result = 0; size_t len = SCPI_DoubleToStr(val, buffer, sizeof (buffer)); result += writeDelimiter(context); result += writeData(context, buffer, len); context->output_count++; return result; }
/** * Write string withn " to the result * @param context * @param data * @return */ size_t SCPI_ResultText(scpi_t * context, const char * data) { size_t result = 0; result += writeDelimiter(context); result += writeData(context, "\"", 1); result += writeData(context, data, strlen(data)); result += writeData(context, "\"", 1); context->output_count++; return result; }
/** * Write integer value to the result * @param context * @param val * @return */ size_t SCPI_ResultInt(scpi_t * context, int32_t val) { char buffer[12]; size_t result = 0; size_t len = longToStr(val, buffer, sizeof (buffer)); result += writeDelimiter(context); result += writeData(context, buffer, len); context->output_count++; return result; }
/** * Write string withn " to the result * @param context * @param data * @return */ size_t SCPIParser::SCPI_ResultText(const char * data) { size_t result = 0; result += writeDelimiter(); result += writeData("\"", 1); result += writeData(data, strlen(data)); result += writeData("\"", 1); context.output_count++; return result; }
/** * Write integer value to the result * @param context * @param val * @return */ size_t SCPIParser::SCPI_ResultInt(int32_t val) { char buffer[12]; size_t result = 0; size_t len = longToStr(val, buffer, sizeof (buffer)); result += writeDelimiter(); result += writeData(buffer, len); context.output_count++; return result; }
/** * Write double walue to the result * @param context * @param val * @return */ size_t SCPIParser::SCPI_ResultDouble(double val) { char buffer[32]; size_t result = 0; size_t len = doubleToStr(val, buffer, sizeof (buffer)); result += writeDelimiter(); result += writeData(buffer, len); context.output_count++; return result; }
/** * Write signed/unsigned 64 bit integer value in specific base to the result * @param context * @param val * @param base * @param sign * @return */ static size_t resultUInt64BaseSign(scpi_t * context, uint64_t val, int8_t base, scpi_bool_t sign) { char buffer[64+1]; const char * basePrefix; size_t result = 0; size_t len; len = UInt64ToStrBaseSign(val, buffer, sizeof (buffer), base, sign); basePrefix = getBasePrefix(base); result += writeDelimiter(context); if (basePrefix != NULL) { result += writeData(context, basePrefix, 2); } result += writeData(context, buffer, len); context->output_count++; return result; }
/** * Write string withn " to the result * @param context * @param data * @return */ size_t SCPI_ResultText(scpi_t * context, const char * data) { size_t result = 0; size_t len = strlen(data); const char * quote; result += writeDelimiter(context); result += writeData(context, "\"", 1); while ((quote = strnpbrk(data, len, "\""))) { result += writeData(context, data, quote - data + 1); result += writeData(context, "\"", 1); len -= quote - data + 1; data = quote + 1; } result += writeData(context, data, len); result += writeData(context, "\"", 1); context->output_count++; return result; }
/** * Write integer value in specific base to the result * @param context * @param val * @param base * @return */ size_t SCPI_ResultIntBase(scpi_t * context, int32_t val, int8_t base) { char buffer[33]; const char * basePrefix; size_t result = 0; size_t len; len = SCPI_LongToStr(val, buffer, sizeof (buffer), base); basePrefix = getBasePrefix(base); result += writeDelimiter(context); if (basePrefix != NULL) { result += writeData(context, basePrefix, 2); } result += writeData(context, buffer, len); context->output_count++; return result; }