![](https://secure.gravatar.com/avatar/5b19e9d0e834ea10ef75803718ad564b.jpg?s=120&d=mm&r=g)
At Tue, 7 Jul 2009 11:33:23 +0530, Harsha, Priya wrote:
+/* Firmware Version info */ +struct snd_sst_fw_version {
- __u8 build; /* build number*/
- __u8 minor; /* minor number*/
- __u8 major; /* major number*/
- __u8 type; /* build type*/
+};
+/* Port info structure */ +struct snd_sst_port_info {
- __u16 port_type;
Just wondering -- is there big-endian support?
We have not tested this on big-endian, Could you tell us that should we make it endian safe?
When a field is more than one byte, you'd need endian conversion at read/write. I didn't find it thus I suspected it.
+struct snd_sst_vol {
- unsigned int stream_id;
- int volume;
- unsigned long ramp_duration;
Are you sure to use long? Long can be different between 32 and 64bit architectures.
We will change it to u32.
+struct snd_sst_buff_entry {
- union {
void *user;
unsigned int offset;
- } buffer;
Is it OK? The pointer and int can be different sizes.
void* user - is the pointer to the buffer unsigned int offset - is the offset inside the buffer area. Not sure if I understand your comment. Please let us know if there is any issue you see with this structure.
A pointer can be 64bit while offset is always 32bit. If they don't have to share the same space, why need to be a union?
thanks,
Takashi