linux-c-programming.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel." <danielhilst@gmail.com>
Cc: "linux-c-programming@vger.kernel.org"
	<linux-c-programming@vger.kernel.org>
Subject: Re: Does __attribute__((__packed__)) aplies to types or variables?
Date: Thu, 22 Oct 2015 14:18:47 -0200	[thread overview]
Message-ID: <CAF3SDA4G2YGNOOOSeQE7JPow62M1NX34SiMv=5KykFb-oO1Exg@mail.gmail.com> (raw)
In-Reply-To: <CAF3SDA7pObzwzk-AzdO38-c45VggTJJpwdNzujAuyMV=eSCc=w@mail.gmail.com>

I mean that packed attribute is applied only when allocation is
implied or can I apply packed
attribute to struct definitions where no variables are declared?

struct __attribute__((__packed__)) foo { ... };
struct foo bar; <--- is this packed?

Regards,

2015-10-22 14:18 GMT-02:00 Daniel. <danielhilst@gmail.com>:
> I mean that packed attribute is applied only when allocation is implied or
> can I apply packed
> attribute to struct definitions where no variables are declared?
>
> struct __attribute__((__packed__)) foo { ... };
> struct foo bar; <--- is this packed?
>
> Regards,
>
> 2015-10-21 17:17 GMT-02:00 anish singh <anish198519851985@gmail.com>:
>>
>>
>>
>> On Wed, Oct 21, 2015 at 10:56 AM, Daniel. <danielhilst@gmail.com> wrote:
>>>
>>> Suppose that I have a declaration:
>>>
>>> struct __attribute__((__packed__)) foo {
>>>   char ch;
>>>   int number;
>>> };
>>>
>>> Will be any variable of this type be packed?
>>>
>>> The real world thing is: I have a code that come up from 8bit world,
>>> with a lot of lots of chained structures that are transferred throght
>>> some radio frequence module, I need be sure that all this structs have
>>> no padding so that they can be transferred as they are to radio. To
>>> achieve this I've
>>> putted __attribute__((__packed__)) to every struct and inner struct
>>> that are sended through RF,
>>> but I read at some StackOverflow post that packed attribute aplies to
>>> variables not to types,
>>
>>
>> Can you elaborate? AFAIK you can safely use packed attribute to pack
>> your structures and send it over the network as long as you take care of
>> endianess.
>>
>> What do you mean by packed attribute applies to variables not to types?
>>>
>>> so I came here ask to experts. Is that true?
>>>
>>> At gcc manual I found Type Attributes and Variable attributes, so I'm
>>> assuming both exists how differentiate from one to another?
>>>
>>> Regards,
>>>
>>> --
>>> "Do or do not. There is no try"
>>>   Yoda Master
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe
>>> linux-c-programming" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
>
>
>
> --
> "Do or do not. There is no try"
>   Yoda Master



-- 
"Do or do not. There is no try"
  Yoda Master

  parent reply	other threads:[~2015-10-22 16:18 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-21 17:56 Does __attribute__((__packed__)) aplies to types or variables? Daniel.
     [not found] ` <CAK7N6vrh05XDwa_nBTmid8QZUU8wgFhm0w=R+aMA9tOugL46Mg@mail.gmail.com>
     [not found]   ` <CAF3SDA7pObzwzk-AzdO38-c45VggTJJpwdNzujAuyMV=eSCc=w@mail.gmail.com>
2015-10-22 16:18     ` Daniel. [this message]
2015-10-24  0:52       ` Phil Sutter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAF3SDA4G2YGNOOOSeQE7JPow62M1NX34SiMv=5KykFb-oO1Exg@mail.gmail.com' \
    --to=danielhilst@gmail.com \
    --cc=linux-c-programming@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).