> Where is  struct free_sock_hash_bucket declared?

It's in /usr/include/sys/socketvar.h.  The problem is it also has that forward 
declaration.  So first up in that file we have:

extern struct free_sock_hash_bucket free_sock_hash_table[];

And then a bit later:

/*----------------------------------------------
//
// free_sock_hash_bucket
//
*/

#define FREE_SOCK_HASH_SZ   103

struct free_sock_hash_bucket
{
    int                 fsh_freecnt;
    simple_lock_data_t  fsh_lock;
    int                 fsh_intrlvl;
    struct socket       *fsh_freelist;
};

This is why I don't know that we can do anything about it other than work 
around it in our code.

Thanks!

-Ben



________________________________
From: Jeffrey Altman
Sent: Saturday, November 30, 2024 6:43 PM
To: Ben Huntsman
Cc: openafs-devel
Subject: Re: [OpenAFS-devel] Clang (Open XL C 17.1+) on AIX


On Nov 30, 2024, at 5:52 PM, Ben Huntsman <[email protected]> wrote:

In file included from 
/home/build/openafs/src/external/heimdal/hcrypto/sha256.c:34:
In file included from /home/build/openafs/src/crypto/hcrypto/kernel/config.h:30:
In file included from /home/build/openafs/src/afs/sysincludes.h:276:
../sys/socketvar.h:158:57: error: array has incomplete element type 'struct 
free_sock_hash_bucket'
extern struct free_sock_hash_bucket free_sock_hash_table[];
                                                        ^
../sys/socketvar.h:158:15: note: forward declaration of 'struct 
free_sock_hash_bucket'
extern struct free_sock_hash_bucket free_sock_hash_table[];
              ^

   Unfortunately sys/socketvar.h is an AIX-supplied header file, so we can't 
change it.  I could open a bug report with IBM but even if they fix it in the 
future we still need to deal with this situation for this version.


Where is  struct free_sock_hash_bucket declared?

Reply via email to