Sponsored Content
Top Forums Programming Declare member of struct as a pointer in c Post 302714121 by chap on Thursday 11th of October 2012 08:32:21 PM
Old 10-11-2012
Declare member of struct as a pointer in c

I have a uint8_t *C = malloc(24*sizeof(uint8_t));

I need to send some integers and this *C to another node(in ad hoc network). So I am going to use a struct

Code:
` struct fulMsg { 
int msgType; 
int msgCount; 
//uint8_t *CC;
} fulMsg_t;

typedef struct fulMsg fulMsg_tt;`

there is a method called
Code:
 packetbuf_copyfrom(X, sizeof(X));

in my api(contiki). If I create struct like this
Code:
struct fulMsg *fmsg = &fulMsg_t;

I can use the above method like this
Code:
packetbuf_copyfrom(fmsg, 8);

and from the other end I can easily get those two values.

So my problem is when I am going to apply same thing to that pointer it is not working the network simulator that I am using suddenly be crashed (I think there is a segmentation fault). I can't initialize size of *C in the struct no. And how correctly do this fmsg->CC = C;

At the other end this is how I receive this struct is
Code:
struct fulMsg *r_fmsg = &fulMsg_t;

and
Code:
rfmsg = (fulMsg_tt *)(packetbuf_dataptr());

. So I can easily get values from other end. (No need to do ntoh and hton, but it is ok if this really needs that)

In simple what I want to do is send the value of *C contain and some other integers to another node. How can I correctly do this.

related question post by me regarding this project Segmentation fault when debugging in C
Thanks
 

10 More Discussions You Might Find Interesting

1. Programming

Problem accessing struct member

I have a struct as follows... struct A { int a; ucontext_t X; //ucontext_t is another structure } How do I define a pointer to the above structure variable X of the type ucontext_t from within another function? eg. void foo() { struct A a; /////WHAT COMES IN... (1 Reply)
Discussion started by: jacques83
1 Replies

2. Programming

Accesing structure member:Error:dereferencing pointer to incomplete type

$ gcc -Wall -Werror struct.c struct.c: In function `main': struct.c:18: error: dereferencing pointer to incomplete type $ cat struct.c #include <stdio.h> #include <stdlib.h> #include <string.h> /*Declaration of structure*/ struct human { char *first; char gender; int age; } man,... (3 Replies)
Discussion started by: amit4g
3 Replies

3. Programming

Pointer to a struct (with pointers) *** glibc detected *** double free

I am using a structure defined as follows struct gene_square { double *x; double *y; };I have class, with a member function which is a pointer of this type: gene_square* m_Genes;I am allocating memory in the constructors like this: m_Genes = new gene_square; for (ii=0;... (1 Reply)
Discussion started by: jatoo
1 Replies

4. Programming

pass a pointer-to-pointer, or return a pointer?

If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it: (1) one is to pass a pointer-to-pointer parameter, like: int my_malloc(int size, char **pmem) { *pmem=(char *)malloc(size); if(*pmem==NULL)... (11 Replies)
Discussion started by: aaronwong
11 Replies

5. Programming

linked list node with pointer to struct

Suppose to have: struct Tstudent { string name, surname; int matriculation_num; }; struct Tnode { Tstudent* student; Tnodo* next; } L;I want to deference that "student" pointer. For example, I tried with: *(L->student).matriculation_numbut it not worked, as terminal... (4 Replies)
Discussion started by: Luke Bonham
4 Replies

6. Programming

C++ program is crashing on re-assigning const static member variable using an int pointer

Hi, Can any one tell me why my following program is crashing? #include <iostream> using namespace std; class CA { public: const static int i; }; const int CA::i = 10; int main() { int* pi = const_cast<int*>(&CA::i); *pi = 9; cout << CA::i << endl; } (6 Replies)
Discussion started by: royalibrahim
6 Replies

7. Programming

Dereferencing pointer to a shared memory struct

I have what should be a relatively simple program (fadec.c) that maps a struct from an included header file (fadec.h) to a shared memory region, but I’m struggling accessing members in the struct from the pointer returned by shmat. Ultimately, I want to access members in the shared memory structure... (2 Replies)
Discussion started by: arette
2 Replies

8. Programming

Storing C++-struct in file - problem when adding new item in struct

Hi, I have received an application that stores some properties in a file. The existing struct looks like this: struct TData { UINT uSizeIncludingStrings; // copy of Telnet data struct UINT uSize; // basic properties: TCHAR szHost; //defined in Sshconfig UINT iPortNr; TCHAR... (2 Replies)
Discussion started by: Powerponken
2 Replies

9. Programming

Check The value a pointer returned by struct s_client != 0

Hi guys , i got segment fault , and when i trace , found it happens since the value of pointer which is returned by Struct S_client (*ptr) is zero if (ptr !=0)i know , adding above line of code is not the solution and not correct for the case since above line only check for the pointer... (1 Reply)
Discussion started by: pooyair
1 Replies

10. UNIX for Advanced & Expert Users

Get pointer for existing device class (struct class) in Linux kernel module

Hi all! I am trying to register a device in an existing device class, but I am having trouble getting the pointer to an existing class. I can create a class in a module, get the pointer to it and then use it to register the device with: *cl = class_create(THIS_MODULE, className);... (0 Replies)
Discussion started by: hdaniel@ualg.pt
0 Replies
UMAD_SET_GRH_NET(3)					    OpenIB Programmer's Manual					       UMAD_SET_GRH_NET(3)

NAME
umad_set_grh_net - set GRH fields within umad buffer using network ordering SYNOPSIS
#include <infiniband/umad.h> int umad_set_grh_net(void *umad, void *mad_addr); DESCRIPTION
umad_set_grh_net() sets the GRH fields (grh_present, gid, hop_limit, traffic_class, flow_label) within the specified umad buffer based on the mad_addr supplied. The provided mad_addr fields are expected to be in network order. If the mad_addr pointer supplied is NULL, no GRH is set. The argument mad_addr is a pointer to an ib_mad_addr_t struct, as specified in <infiniband/umad.h>. The argument umad is a pointer to an ib_user_mad_t struct, as specified in <infiniband/umad.h>. typedef struct ib_mad_addr { uint32_t qpn; uint32_t qkey; uint16_t lid; uint8_t sl; uint8_t path_bits; uint8_t grh_present; uint8_t gid_index; uint8_t hop_limit; uint8_t traffic_class; uint8_t gid[16]; uint32_t flow_label; } ib_mad_addr_t; typedef struct ib_user_mad { uint32_t agent_id; uint32_t status; uint32_t timeout_ms; uint32_t retries; uint32_t length; ib_mad_addr_t addr; uint8_t data[0]; } ib_user_mad_t; RETURN VALUE
umad_set_grh_net() returns 0 on success, and a negative value on errors. Currently, there are no errors indicated. KNOWN BUGS
Not implemented. SEE ALSO
umad_set_grh(3) AUTHOR
Hal Rosenstock <halr@voltaire.com> OpenIB May 24, 2007 UMAD_SET_GRH_NET(3)
All times are GMT -4. The time now is 11:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy