Find Jobs
Hire Freelancers

workshop c

$30-250 USD

Completed
Posted about 9 years ago

$30-250 USD

Paid on delivery
The task is broken into three parts, a message logging server, a library to log messages, and a driver to test the library. 2.1 Message Logging Server The message logging server should attempt to create the message queue, if this fails then it should terminate with an error message, it should not run if the message queue actually exists (IPC_EXCL will help here). Once connected to the message queue, the program should sit in a loop, receiving a message, and printing it to the stdout. Messages should be formatted: id: message where id is the type from the message structure and message is the message field. The server should shutdown cleanly (i.e. delete the message queue) on receipt of a SIGINT (generated by pressing control and C keys at the same time). The sample code files logservice.h and logserver.c should form the basis of your solution for this part. 2.2 Messaging library The messaging library consists of two functions, both defined in logservice.h: int initLogService() This function should initialise the message queue to log messages to, returning an id if successful, and -1 on error. This function should not attempt to create the message queue, only attach it to the process, nor should it take an argument to specify the queue, there shall be only one log queue. int logMessage(int id, char *message) This function logs the message passed as the string message to the log service id. It should return 0 on success and -1 on error. When sending a message, the function should encode the processes pid into the type field of the message, and the string into the message field. It is your choice what to do if the message is too long (i.e. longer than MSGCHARS), sample behaviours include breaking the message up into smaller pieces or simply rejecting it. Whatever the choice, the documentation in the header file should reflect this choice. The sample code files logservice.h and logservice.c should form the basis of your solution for this part. 2.3 Test Driver This program is used to test the functionality of the library described in Section 2.2. It need not be complex, but is should be able to determine, and report if any errors have occurred. The sample code files logservice.h and logclient.c should form the basis of your solution for this part.
Project ID: 7529761

About the project

3 proposals
Remote project
Active 9 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hello, Lets do this project. Thanks.................................................................
$60 USD in 1 day
5.0 (113 reviews)
6.0
6.0
3 freelancers are bidding on average $82 USD for this job
User Avatar
hello. I saw your description and attached files. I understand it and can do it . I have done several project like this. I'm an expert in Data Mining, Data Structures and Algorithms. And I know Java ,C/C++ and Python well. I'm interested this project. I want to discuss with you about this project. If it's possible,please contact me and explain more detail. I wait your good reply. Bye.
$200 USD in 3 days
5.0 (8 reviews)
2.3
2.3
User Avatar
I have experience in developing the MCU embedded system with C, C++ language. I have designed the concrete plant control system, Power Line Communication system and many project. I also have experience in developing the windows application using Java, VB.Net and MFC. And i designed the PHP e comencial page. I hope i can help you on this project. Thanks.
$155 USD in 3 days
0.0 (0 reviews)
0.0
0.0
User Avatar
A proposal has not yet been provided
$30 USD in 3 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of AUSTRALIA
Queensland, Australia
5.0
8
Payment method verified
Member since Mar 22, 2015

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.