Carsten Grzemba
2023-12-08 6368be5c1885b28b69fb705c7dbeee05359f8e02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Because the nwamd is still a 32bit binary the doorfs calls have to be compatible for 64bit and 32bit.
If all runs in 64bit this patch is no longer necessary.
 
diff --git a/usr/src/lib/libnwam/common/libnwam.h b/usr/src/lib/libnwam/common/libnwam.h
index 7d9025a399..63c6271e46 100644
--- a/usr/src/lib/libnwam/common/libnwam.h
+++ b/usr/src/lib/libnwam/common/libnwam.h
@@ -966,6 +966,8 @@ typedef enum {
     NWAM_OBJECT_TYPE_KNOWN_WLAN = 4
 } nwam_object_type_t;
 
+#pragma pack(4)
+
 typedef struct nwam_event *nwam_event_t;
 struct nwam_event {
     int nwe_type;
@@ -1040,6 +1042,8 @@ struct nwam_event {
     } nwe_data;
 };
 
+#pragma pack()
+
 /* NWAM client functions, used to register/unregister and receive events */
 extern nwam_error_t nwam_events_init(void);
 extern void nwam_events_fini(void);
diff --git a/usr/src/lib/libnwam/common/libnwam_priv.h b/usr/src/lib/libnwam/common/libnwam_priv.h
index 14b92b2c3a..368b914da2 100644
--- a/usr/src/lib/libnwam/common/libnwam_priv.h
+++ b/usr/src/lib/libnwam/common/libnwam_priv.h
@@ -73,6 +73,8 @@ typedef enum {
 
 #define    NWAMD_MAX_NUM_WLANS    64
 
+#pragma pack(4)
+
 typedef union {
     /* Used for EVENT_[UN]REGISTER requests */
     struct {
@@ -133,11 +135,13 @@ typedef struct nwam_backend_door_arg {
     nwam_backend_door_cmd_t nwbda_cmd;
     char nwbda_dbname[MAXPATHLEN];            /* config filename */
     char nwbda_object[NWAM_MAX_NAME_LEN];        /* config object */
-    size_t nwbda_datalen;                /* data follows arg */
+    unsigned int nwbda_datalen;            /* data follows arg */
     nwam_error_t nwbda_result;            /* return code */
     uint64_t nwbda_flags;
 } nwam_backend_door_arg_t;
 
+#pragma pack()
+
 /*
  * Functions needed to initialize/stop processing of libnwam backend data
  * (used in netcfgd).