Sponsored Content
Top Forums Programming Parameter passing to function with void * as Argument Post 302902834 by Corona688 on Thursday 22nd of May 2014 11:52:45 AM
Old 05-22-2014
Yes, a union is useful in this situation. Specifically:

Code:
enum { TYPE_CS, TYPE_DS };

typedef struct CS {
        int type;
        int cc;
} CS;

typedef struct DS {
        int type;
        int dc;
        int dd;
} DS;

typedef union S {
        int type;
        DS ds;
        CS cs;
} S;

CS mycs={TYPE_CS, 0};
DS myds={TYPE_DS, 1, 1};

void myfunc(S *data)
{
        switch(s->type) {
        case TYPE_DS:
                s->ds.dc=0;
                s->ds.dd=0;
                break;
        case TYPE_CS:
                s->cs.cc=0;
                break;
        }
}

myfunc(&mycs);
myfunc(&myds);

Your function can tell which is which by checking the value of the type variable, then using either the ds or cs member of the union. All the members of the union overlap.
This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Passing Argument to Function

May i know how to pass an argument to a function in a shell script? Sorry, i din stated that it is in a shell script in my previous post. Means: checkStatus() { ........... } read status; I wanna use the status in the function checkstatus, how... (2 Replies)
Discussion started by: AkumaTay
2 Replies

2. Shell Programming and Scripting

Passing a string parameter to a function

I need to pass a parameter to a function in a script. My parameter is a string. When I display the parameter within my function, I only get the first word from string I pass in. How can I make the function receive the whole string (and not terminate at the first space it encounters)?. part of... (1 Reply)
Discussion started by: fastgoon
1 Replies

3. UNIX for Advanced & Expert Users

Parameter passing in a function

I need to pass a parameter to a function in a script. My parameter is a string. When I display the parameter within my function, I only get the first word from string I pass in. How can I make the function receive the whole string (and not terminate at the first space it encounters)?. part of... (2 Replies)
Discussion started by: fastgoon
2 Replies

4. Programming

How to return void function pointer

Hello all im trying to build function that will return void function pointer what is mean is ( not working ) the main function void * myClass::getFunction(int type){ if(type==1) return &myClass::Test1; if(type==2) return &myClass::Test2; } void myClass::Test1(){... (1 Reply)
Discussion started by: umen
1 Replies

5. Shell Programming and Scripting

Passing more than one argument in a function

Hi All, Calling a function with one argument and storing the return value in a shell script is as below:( so far I know) value="`fun_1 "argument1"`" Its working perfectly for me. Can u help me with passing more than one argument and storing the return value Thnaks in advance JS (1 Reply)
Discussion started by: jisha
1 Replies

6. Shell Programming and Scripting

Passing commandline argument to a function

Hi, I have 2 ksh scripts. Script1.ksh contains function definition. script1.ksh function f1() { while getopts a:c: args do case $args in a) ARG1=$OPTARG ;; c) ARG2=$OPTARG ;; \?) echo "Error no valid Arguments passed" esac done echo $ARG1 echo $ARG2 script2.sh (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

7. Shell Programming and Scripting

Passing sql as parameter to unix function

Hi, I have a function which connects to the db and runs the sql. it works fine when I run it like: function "select empname from emp;" but when I try to pass the sql string to a variable which in turn in fed to the function , it throws error. please advise. Thanks, Arnie. (1 Reply)
Discussion started by: itsarnie
1 Replies

8. Shell Programming and Scripting

passing argument from one function to another

Hi all, In the given script code . I want to pass the maximum value that variable "i" will have in function DivideJobs () to variable $max of function SubmitCondorJob(). Any help? Thanks #!/bin/bash ... (55 Replies)
Discussion started by: nrjrasaxena
55 Replies

9. Shell Programming and Scripting

Passing parameter to script, and split the parameter

i am passing input parameter 'one_two' to the script , the script output should display the result as below one_1two one_2two one_3two if then echo " Usage : <$0> <DATABASE> " exit 0 else for DB in 1 2 3 do DBname=`$DATABASE | awk -F "_" '{print $1_${DB}_$2}` done fi (5 Replies)
Discussion started by: only4satish
5 Replies

10. Shell Programming and Scripting

Passing command as a function parameter

Hi All, Just trying to implement the below shell script using AIX ksh shell. myfunc { eval "$*" } CMD='ls -la /etc/hosts | awk '{print $9"|"$5}'' myfunc $CMD Keeping getting "|}: not found" errors, any pointers would greatly be appreciated. Kind Regards Ed Please... (2 Replies)
Discussion started by: eo29
2 Replies
DWARF_GET_CIE_INFO(3)					   BSD Library Functions Manual 				     DWARF_GET_CIE_INFO(3)

NAME
dwarf_get_cie_info -- retrieve information associated with a CIE descriptor LIBRARY
DWARF Access Library (libdwarf, -ldwarf) SYNOPSIS
#include <libdwarf.h> int dwarf_get_cie_info(Dwarf_Cie cie, Dwarf_Unsigned *cie_byte_len, Dwarf_Small *version, char **augmentation, Dwarf_Unsigned *caf, Dwarf_Unsigned *daf, Dwarf_Half *ra, Dwarf_Ptr *init_inst, Dwarf_Unsigned *inst_len, Dwarf_Error *err); DESCRIPTION
Function dwarf_get_cie_info() retrieves the information associated with a given CIE descriptor. Argument cie should reference a valid DWARF CIE descriptor, such as would be returned by function dwarf_get_cie_of_fde(3). Argument cie_byte_len should point to a location that will hold the length in bytes of the CIE descriptor itself. Argument version should point to a location that will hold the version number of the CIE descriptor. Arugment augmentation should point to a location that will be set to a pointer to a NUL-terminated string containing augmentation data encoded as UTF-8. Argument caf should point to a location that will hold the code alignment factor recorded in the CIE descriptor. Arugment daf should point to a location that will hold the data alignment factor recorded in the CIE descriptor. Argument ra should point to a location that will hold the return address recorded in the CIE descriptor. Argument init_inst should point to a location that will be set to a pointer to an array of bytes containing the initial instructions associ- ated with the CIE descriptor. Argument inst_len should point to a location that will hold the length in bytes of the initial instructions returned in argument init_inst. If argument err is not NULL, it will be used to store error information in case of an error. RETURN VALUES
Function dwarf_get_cie_info() returns DW_DLV_OK when it succeeds. In case of an error, it returns DW_DLV_ERROR and sets the argument err. ERRORS
Function dwarf_get_cie_info() can fail with: [DW_DLE_ARGUMENT] One of the arguments cie, cie_byte_len, version, augmentation, caf, daf, ra, init_inst or inst_len was NULL. SEE ALSO
dwarf(3), dwarf_get_cie_index(3), dwarf_get_cie_of_fde(3), dwarf_get_fde_at_pc(3), dwarf_get_fde_info_for_all_regs(3), dwarf_get_fde_info_for_all_regs3(3), dwarf_get_fde_info_for_cfa_reg3(3), dwarf_get_fde_info_for_reg(3), dwarf_get_fde_info_for_reg3(3), dwarf_get_fde_instr_bytes(3), dwarf_get_fde_list(3), dwarf_get_fde_list_eh(3), dwarf_get_fde_n(3), dwarf_get_fde_range(3) BSD
May 29, 2011 BSD
All times are GMT -4. The time now is 06:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy