Question: C programming: My code is not running correctly and I amsure what's wrong. Please help. I have provided a screenshot andeverything below. Assignment: Design a

C programming: My code is not running correctly and I amsure what's wrong. Please help. I have provided a screenshot andeverything below.

Assignment:

  • Design a kernel module that creates a /proc filenamed /proc/jiffies that reports the current valueof jiffies when the /proc/jiffies file is read,such as with the command

    cat /proc/jiffiesBe sure to remove /proc/jiffies when the module isremoved.

Source Code:

jiffies.c

/* This function is called when the module is loaded. */

int proc_init(void)

{

/* creates the /proc/jiffies entry */

proc_create(PROC_NAME, 0666, NULL, &proc_ops);

return 0;

}

/* This function is called when the module is removed. */

void proc_exit(void)

{

/* removes the /proc/jiffies entry */

remove_proc_entry(PROC_NAME, NULL);

}

/* This function is called each time /proc/jiffies is read*/

ssize_t proc_read(struct file *file, char __user *usr_buf,size_t count, loff_t *pos)

{

int rv = 0;

char buffer[BUFFER_SIZE];

static int completed = 0;

if (completed) {

completed = 0;

return 0;

}

completed = 1;

rv = sprintf(buffer, "%lu", jiffies);

/* copies kernel space buffer to user space usr buf */

copy_to_user(usr_buf, buffer, rv);

return rv;

}

Makefile

obj-m += jiffies.o

all:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD)modules

clean:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

/home/sharon/Desktop/jiff/jiffies.c: In function 'proc_init': /home/sharon/Desktop/jiff/jiffies.c:6:2: error: implicit declaration of functio ? n

/home/sharon/Desktop/jiff/jiffies.c: In function 'proc_init': /home/sharon/Desktop/jiff/jiffies.c:6:2: error: implicit declaration of functio ? n 'proc_create' [-Werror=implicit-function-declaration] 6 | proc_create(PROC_NAME, 0666, NULL, &proc_ops); | /home/sharon/Desktop/jiff/jiffies.c:6:14: use in this function) 6 | proc_create(PROC_NAME, 0666, NULL, &proc_ops); I ANNNNNNNN /home/sharon/Desktop/jiff/jiffies.c:6:14: note: each undeclared identifier is r eported only once for each function it appears in /home/sharon/Desktop/jiff/jiffies.c:6:38: error: 'proc_ops' undeclared (first u se in this function); did you mean 'pv_ops'? A 6 | proc_create(PROC_NAME, 0666, NULL, &proc_ops); error: *PROC_NAME' undeclared (first pv_ops /home/sharon/Desktop/jiff/jiffies.c: In function 'proc_exit': /home/sharon/Desktop/jiff/jiffies.c:14:2: error: implicit declaration of functi on remove_proc_entry' [-Werror=implicit-function-declaration] 14 | remove_proc_entry(PROC_NAME, NULL); I /home/sharon/Desktop/jiff/jiffies.c: /home/sharon/Desktop/jiff/jiffies.c:24:14: st use in this function) 24 | char buffer[BUFFER_SIZE]; /home/sharon/Desktop/jiff/jiffies.c:14:20: error: 'PROC_NAME' undeclared (first use in this function) 14 | remove_proc_entry(PROC_NAME, NULL); | In function 'proc_read': error: 'BUFFER_SIZE' undeclared (fir

Step by Step Solution

3.40 Rating (156 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Based on the provided source code it looks like the problem might be in the procread function Specif... View full answer

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 Electrical Engineering Questions!