Question: Hello Need help with the following assignment Programing in C. Thank you for your help in advance. Write a C program that computes a simple

Hello Need help with the following assignment Programing in C. Thank you for your help in advance.

Write a C program that computes a simple checksum of 10 8-bit integers.

  • This program is based upon the calculation of the checksum value of a IPv4 header, defined by RFC791.

Your C program should conform to the following specification:

  • Program name: checksum
  • Reads 10 bytes from standard input (stdin), using the 'read' system call
  • Interpets or casts each of these bytes as an integer value in the range of 0..2^8-1 (I.e., 0..255).
  • Via a loop, examines each of these bytes in turn,
    • computes the running 1's complement sum for 8-bit numbers
    • saves the 6th byte into a variable called "checksum", and use the value of zero (0) instead for the calculation of the sum
  • Performs the one's complement of the final sum and saves this value to a variable called "complement"
  • Outputs the value of "checksum" and "complement" to standard output (stdout) via the printf C library call
  • If the value of "checksum" and "complement" are not the same, outputs the string "Error Detected!" to standard error (stderr).

This is the code I have to start with only middle portion is missing of the code.

#include "stdio.h" #include "stdlib.h" #define max_int (255) #define byte (char) int main (int argc, char * argv[], char ** envp) { int count = 10; int sum = 0; byte checksum; byte complement; /* the following is the prototype for the read system call */ /* int read(int fildes, void *buf, size_t nbyte); */ 

 fprintf(stdout, "Stored Checksum: %d, Computed Checksum: %d ", checksum, complement); if (checksum != complement ) { fprintf(stdout, "Error Detected! "); return 1; } return 0; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!