Repository: gopacket/gopacket (language: go)

Issue:
Potentially invalid use of #ifdef
In https://github.com/gopacket/gopacket/commit/94ad652445d73076cfbf84a5b6d3674828565dd2, code was added to check for 64-bit time. The following code was added in order to check for the existence of a type:

```c
#ifdef __time64_t
```

The problem with this, as far as I'm aware, is that you cannot use `ifdef` to check whether a type has been defined. See further discussion here[^1]. Was there a particular reason this code was added? It breaks builds on 32-bit systems with 64-bit time enabled.

[^1]: https://stackoverflow.com/questions/6772802/in-c-c-is-there-a-directive-similar-to-ifndef-for-typedefs.


Discussion / hints:
FYI I got the build working successfully on Debian by replacing the line with:
```c
#if defined(__USE_TIME64_REDIRECTS) || (__TIMESIZE == 32 && __USE_TIME_BITS64)
```

Fix patch:
diff --git a/pcap/pcap_unix.go b/pcap/pcap_unix.go
index 8a38384b..f270638a 100644
--- a/pcap/pcap_unix.go
+++ b/pcap/pcap_unix.go
@@ -117,7 +117,7 @@ int pcap_tstamp_type_name_to_val(const char* t) {
 		#define gopacket_time_secs_t __time_t
 		#define gopacket_time_usecs_t __suseconds_t
 	#else
-		#ifdef __time64_t
+		#if defined(__USE_TIME64_REDIRECTS) || (__TIMESIZE == 32 && __USE_TIME_BITS64)
 			#define gopacket_time_secs_t __time64_t
 			#define gopacket_time_usecs_t __suseconds64_t
 		#else


Test patch: