aboutsummaryrefslogtreecommitdiff
path: root/main/param/int32_t.c
blob: ebf9d4ef9fcf2afcbd548f3772fe4ec9832094d2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "param.h"
#include "http_server.h"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void handle_option__int32_t(
    const char* attr, sockbuf_t* sockbuf, int32_t* ptr)
{
  int tmp = (int)(*ptr);
  handle_option__int(attr, sockbuf, &tmp);
  *ptr = (int32_t)tmp;
}

size_t serialize_to_json__int32_t(
    char** out, size_t len, const char* attr, const char* dn, int32_t value)
{
  size_t newlen = snprintf(
      *out,
      len,
      "\"%s\":{\"type\":\"int\",\"value\":\"%ld\",\"disp\":\"%s\"}",
      attr,
      (long)value,
      dn);
  *out += newlen;
  return len - newlen;
}

#define TAG "param_int32"
void http_handle__int32_t(httpd_req_t* req, int32_t* val)
{
  int tmp = (int)(*val);
  http_handle__int(req, &tmp);
  *val = (int32_t)tmp;
}

void print__int32_t(sockbuf_t* sockbuf, const char* attr, int32_t val)
{
  char buf[128];
  snprintf(buf, sizeof(buf), "%s: %ld :: int32_t\n", attr, (long)val);
  sockbuf_write(sockbuf, buf);
}