CSc/Data.c
author hh
Thu, 21 Nov 2019 14:55:10 +0100
changeset 0 5c129dd80d4f
permissions -rw-r--r--
--
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
hh
parents:
diff changeset
     1
#include "CS.h"
hh
parents:
diff changeset
     2
hh
parents:
diff changeset
     3
void Data(DataP thisP, DebugP callerDeP) {
hh
parents:
diff changeset
     4
	DebugP deP = &(thisP->debug);
hh
parents:
diff changeset
     5
	DEBID("%s DATA", callerDeP->id);
hh
parents:
diff changeset
     6
	thisP->dataLen = sizeof(HeaderT) + sizeof(PayloadT) + strlen(csP->text);
hh
parents:
diff changeset
     7
   thisP->contP = (ContainerP)malloc(thisP->dataLen);
hh
parents:
diff changeset
     8
	thisP->contP->hdr.ttl = 0;
hh
parents:
diff changeset
     9
	thisP->contP->hdr.ts = 0;
hh
parents:
diff changeset
    10
	strcpy(&(thisP->contP->payl.text), "EMPTY");
hh
parents:
diff changeset
    11
	LOG(5, "Data instance established");
hh
parents:
diff changeset
    12
}
hh
parents:
diff changeset
    13
int dttlData(DataP thisP) {
hh
parents:
diff changeset
    14
	thisP->contP->hdr.ttl--;
hh
parents:
diff changeset
    15
	return thisP->contP->hdr.ttl;
hh
parents:
diff changeset
    16
}
hh
parents:
diff changeset
    17
int ttlData(DataP thisP) {
hh
parents:
diff changeset
    18
	return thisP->contP->hdr.ttl;
hh
parents:
diff changeset
    19
}
hh
parents:
diff changeset
    20
int remPortData(DataP thisP) {
hh
parents:
diff changeset
    21
	return thisP->contP->hdr.listPort;
hh
parents:
diff changeset
    22
}
hh
parents:
diff changeset
    23
DataP loadData(DataP thisP, int ttl, char *loadP) {
hh
parents:
diff changeset
    24
	DebugP deP = &(thisP->debug);
hh
parents:
diff changeset
    25
	thisP->contP->hdr.ttl = ttl;
hh
parents:
diff changeset
    26
	thisP->contP->payl.ts = time(NULL);
hh
parents:
diff changeset
    27
	strcpy(&(thisP->contP->payl.text), csP->text);
hh
parents:
diff changeset
    28
	LOG(5, "payload loaded to container");
hh
parents:
diff changeset
    29
	return thisP;
hh
parents:
diff changeset
    30
}
hh
parents:
diff changeset
    31
char *unldData(DataP thisP) {
hh
parents:
diff changeset
    32
	return &(thisP->contP->payl.text);
hh
parents:
diff changeset
    33
}
hh
parents:
diff changeset
    34
char *digest24Data(DataP thisP, char *digest) {
hh
parents:
diff changeset
    35
	char *text = &(thisP->contP->payl.text);
hh
parents:
diff changeset
    36
	if(strlen(text) < 24) strcpy(digest, text);
hh
parents:
diff changeset
    37
	else { strncpy(digest, text, 8); strcpy(digest+8, "-------"); strcpy(digest+15, text+strlen(text)-8); }
hh
parents:
diff changeset
    38
	return digest;
hh
parents:
diff changeset
    39
}
hh
parents:
diff changeset
    40
void sabotageData(DataP thisP) {
hh
parents:
diff changeset
    41
	thisP->contP->payl.text = '?'; }
hh
parents:
diff changeset
    42
int chkData(DataP thisP) {
hh
parents:
diff changeset
    43
	return (int)(strcmp(csP->text, &(thisP->contP->payl.text)) == 0);
hh
parents:
diff changeset
    44
}
hh
parents:
diff changeset
    45
int tsData(DataP thisP) {
hh
parents:
diff changeset
    46
	return thisP->contP->hdr.ts;
hh
parents:
diff changeset
    47
}