12-21-2010
difficult problem with function declaration
Hello,
I have a problem with the declaration of a function.
This is how I declare the function :
c:63:
void foo(threadpool *tp,void (*func)(void*), (void*)arg);
Inside main, I call it like this:
main(){
..........
threadpool y;
c:104:
foo(y,foo2,(void*)x);
}
and here is the foo2,and foo:
c:109:
void foo(threadpool *tp,void (*func)(void*), (void*)arg){.........}
c:110:
void * foo2(void *arg) {......}
gcc gives me those things:
c:63: error: expected declaration specifiers or ‘...’ before ‘(’ token
c:104: warning: passing argument 2 of ‘foo’ from incompatible pointer type
c:63: note: expected ‘void (*)(void *)’ but argument is of type ‘void * (*)(void *)’
c:104: error: too many arguments to function ‘foo’
c:110: error: expected declaration specifiers or ‘...’ before ‘(’ token
c:110: error: expected identifier or ‘(’ before ‘{’ token
I dont know what the problem is,even if I tried a lot of things.Please help!
thanks in advance
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Sir,
I have a file containing say 1000 lines that contain 100 paragraphs of 10 lines each separated by blank lines.I have to match a pattern or a string "hdfhasdjkasdhs" and print the complete paragraphs containing these strings.I can do this with the help of line editor ex,but how can I use... (1 Reply)
Discussion started by: Piyush
1 Replies
2. Programming
I am having strange warnings from gcc compiler, which I don't think should come while cmpiling.
Can anyone help? The warnings are:
- warning: implicit declaration of function 'bzero'
- warning: implicit declaration of function 'inet_addr'
The code is as below:
int main(int argc, char... (2 Replies)
Discussion started by: Ahsan
2 Replies
3. UNIX for Advanced & Expert Users
Im trying to replace every line
line1
line2
line3
with:
line1
extraline1
line2
extraline2
line3
extraline3
with about 10 extra lines
I am able to add axtra lines with: (17 Replies)
Discussion started by: Dave724001
17 Replies
4. Shell Programming and Scripting
Hi,
I'm a beginners, this is one of my first script, it's easy, but I don't know how to write this script:
The script receive in input 4 parameters:
1) user_name
2) r and/or w and/or x ( rwx, rw, x, ....)
3) u and/or g and/or o ( u, uo, ugo, ...)
4) the path name
The script print a... (2 Replies)
Discussion started by: DNAx86
2 Replies
5. Programming
Hi,
I'm tying to use the following function to reboot the system as part of my code
#include <unistd.h>
#include <linux/reboot.h>
int restart(unsigned int delay)
{
sleep(delay);
return reboot(LINUX_REBOOT_CMD_RESTART);
}
When I try to compile the code I get the warning in the... (2 Replies)
Discussion started by: galapogos
2 Replies
6. UNIX for Dummies Questions & Answers
Hi all,
I would like to declare a vector of variables and access them sequentially.
Here is my code
ARRAY_CT="0001000000 0000100000 0000010000"
ELEMENTS_CT=${#ARRAY_CT}
echo $ELEMENTS_CT
for (( j=1;j<=$ELEMENTS_IS;j++)); do
echo ${ARRAY_IS}
done
... (2 Replies)
Discussion started by: f_o_555
2 Replies
7. Shell Programming and Scripting
I don't know if this is a big issue or not, but I'm having difficulties. I apoligize for the upcoming essay :o.
I'm writing a script, similar to a paint program that edits images, but in the form of ANSI block characters. The program so far is working. I managed to save the image into a file,... (14 Replies)
Discussion started by: tinman47
14 Replies
8. Programming
Hello,
I was reading Heuritics text and came across an algorithm below. Finding hard to analyze it can any one help me out below...
How to analyze if I take say no. of types are 5 and each type has say 20 coins.
thanks.
Let {c1, c2...cn=1} be a set of distinct coin types where ci is... (1 Reply)
Discussion started by: sureshcisco
1 Replies
9. Shell Programming and Scripting
Hi All,
I have the script as below
#!bin/bash
let k=9
if
then
echo "Start"
Hello
echo "End"
else
echo "failed"
fi
function Hello() {
echo "hello !!!!"
}
I got the below error : (4 Replies)
Discussion started by: Balasankar
4 Replies
10. Linux
I know Xenix is a little outdated, and is dangerous to use on network.
But this is a virtual machine, and I like to play retrocomputing sometime.
The question is..why ftp over slip doesn't work?
I've set this Xenix vm on libvirt
<domain type='kvm' id='5'... (2 Replies)
Discussion started by: Linusolaradm1
2 Replies
LEARN ABOUT SUNOS
esbbcall
esbbcall(9F) Kernel Functions for Drivers esbbcall(9F)
NAME
esbbcall - call function when buffer is available
SYNOPSIS
#include <sys/stream.h>
bufcall_id_t esbbcall(uint_t pri, void (*func)(void *arg), void (arg));
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
pri Priority of allocation request (to be used by allocb(9F) function, called by esbbcall())
func Function to be called when buffer becomes available.
arg Argument to func.
DESCRIPTION
esbbcall(), like bufcall(9F), serves as a timeout(9F) call of indeterminate length. If esballoc(9F) is unable to allocate a message and
data block header to go with its externally supplied data buffer, esbbcall() can be used to schedule the routine func, to be called with
the argument arg when a buffer becomes available. func may be a routine that calls esballoc(9F) or it may be another kernel function.
RETURN VALUES
On success, a bufcall IDis returned. On failure, 0 is returned. The value returned from a successful call should be saved for possible
future use with unbufcall() should it become necessary to cancel the esbbcall() request (as at driver close time).
CONTEXT
esbbcall() can be called from user or interrupt context.
SEE ALSO
allocb(9F), bufcall(9F), esballoc(9F), timeout(9F), datab(9S), unbufcall(9F)
Writing Device Drivers STREAMS Programming Guide
SunOS 5.10 18 Feb 98 esbbcall(9F)