userpw.h AIX ( delete entry from the shadow password database )

HI i need to delete an entry in /etc/security/passwd.
can't find a way to do it with userpw.h api ( AIX ).

the passwd file i delete like this.
Write all entrys to passwd file except the one we are removing.

can't find any function that works like getspent / getpwent do
in AIX userpw api. How do i delete an entry in the shadow file on AIX?

while \(\(p = getpwent\(\)\) != NULL\) \{
/* Update passwd file if it's not the user we are removing */
 if\(!\(typ==3 && strcmp\(p->pw_name,user\) == 0\)\) \{  
  putpwent\(p, fpb\); 
 \}
\}

On AIX use the setpwdb() / putuserpw() / endpwdb() calls for updating the shadow password file...see their manpages for details.

Thanks! but i already use those functions to update the shadowfile in
my code and it works!

My problem is that i need to delete an user entry from the shadow file, and putuserpw() dosent work here.

If i had a function that literate over the shadow file as getspent do in linux it would work. But can't find a function that works like that in AIX.

Does your machine have the /usr/include/shadow.h file on it. The getspent() family of functions are declared in that header file and my guess is that since they are not POSIX compliant AIX excludes them.

I had to write my own function that removes from /etc/security/passwd.
Cause could not find any solution to that in the api :frowning: