Sponsored Content
Top Forums Programming K&R - FILE structure - can't access members Post 302490050 by Corona688 on Sunday 23rd of January 2011 05:29:50 PM
Old 01-23-2011
Opaque means the header file just defines it as a 'struct FILE'. It won't complain about the incomplete definition when you use it as FILE *, since it never needs to know its size or its members to pass it around in that fashion.

You could dig into the source code of glibc and find out where it really is defined, and typecast a FILE * into a pointer to a structure you define yourself. Remember though, the reason you're not supposed to do this is because

1) This will break if you move this code to another platform. We've had people bring code depending on this from Solaris and wonder why it doesn't work in Linux when it says IN THE CODE 'platform dependent'.
2) This could easily break when you update glibc, too.
3) Modifying the contents of this structure may have unforeseen consequences.
This User Gave Thanks to Corona688 For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

FTP access & control question

Folks; I need some help with these: 1. understanding how to control access rights and manage visibility using FTP in Solaris, in other words, I need to use FTP in Solaris to be able to give some users access to add/modify data to/from the UNIX server. 2. How can i control the space allowed for... (2 Replies)
Discussion started by: Katkota
2 Replies

2. Programming

Search attributes in one structure using the values from another structure

Hello Groups I am trying to find out ways of comparing a value from a 'c' structure to a value in another 'C' structure. the 'C' structure can be a List or liked list as it contains lot many records. if we loop it in both the structures it is going to consume time. I am looking for a simple... (3 Replies)
Discussion started by: dhanamurthy
3 Replies

3. Shell Programming and Scripting

Move files & folder structure

Hey, this might be a really basic question, but I'm new to Unix scripting. I'm trying to find a command to replicate a file structure from one location to another & move the actual files contained in the base directories, i.e. I have this structure - home/temp/test/dir1/ ... (3 Replies)
Discussion started by: SOCLA_CELT
3 Replies

4. Linux

password hardening & FTP access

I am dealing with an FTP server and I have implemented password hardening on the server. The thing is that, it applies to SSH connection. I forcefully expired password of a user so that he can change password at next login. But the user logged in to the server through FTP and he wasn't asked to... (4 Replies)
Discussion started by: parth_buch
4 Replies

5. Shell Programming and Scripting

directory structure & file permisson comparison

Hi - I want to compare permissions of the directory structure and files beneath it with permissions one week back on same directory structure and files beneath it. if any changes to permissions of any file or directory permissions send an email. I am not sure how to list the permissions of all... (1 Reply)
Discussion started by: oraclermanpt
1 Replies

6. AIX

Switch Port Becoming Private & restricting access

Hello folks, I have an AIX server that is connected to a storage array via a Brocade switch using 4 ports from either side. The zoning is done such that there are 4 paths visible from the server to the storage. My work involves frequent disabling or enabling the switch ports that are... (1 Reply)
Discussion started by: nkiran
1 Replies

7. Shell Programming and Scripting

Concatenating contents of a file with members in a directory

Hi, I have a unix file with the below structure - CustId1 CustName1 CustPhn1 /u/home/xmldata/A000001 CustId2 CustName2 CustPhn2 /u/home/xmldata/A000002 CustId3 CustName3 CustPhn3 /u/home/xmldata/A000003 Then I have another unix directory /u/home/xmldata This directory has... (3 Replies)
Discussion started by: Simanto
3 Replies

8. Solaris

Restricting commands & access

Dear all, I am administering a DC environment of over 100+ Solaris servers used by various teams including Databases. Every user created on the node belonging to databases is assigned group staff(10) . I want that all users belonging to staff should NOT be able to execute certain system... (6 Replies)
Discussion started by: Junaid Subhani
6 Replies

9. UNIX for Dummies Questions & Answers

New to Forum & Sun Surefire V210 Access

Purchased a Sun Surefire V210 Server off eBay. Unable to Access the Terminal Mode via the Terminal MGT. Using Windows 7 home, and downloaded the ConEmu. The ConEmu brings up a Command line on the PC, and that's it. Being new to all this, I was expecting a Login prompt to pop up. Read the... (22 Replies)
Discussion started by: screenprintr
22 Replies
UNLOCKED_STDIO(3)					     Linux Programmer's Manual						 UNLOCKED_STDIO(3)

NAME
*_unlocked - non-locking stdio functions SYNOPSIS
#include <stdio.h> int getc_unlocked(FILE *stream); int getchar_unlocked(void); int putc_unlocked(int c, FILE *stream); int putchar_unlocked(int c); #define _BSD_SOURCE /* or _SVID_SOURCE or _GNU_SOURCE */ #include <stdio.h> void clearerr_unlocked(FILE *stream); int feof_unlocked(FILE *stream); int ferror_unlocked(FILE *stream); int fileno_unlocked(FILE *stream); int fflush_unlocked(FILE *stream); int fgetc_unlocked(FILE *stream); int fputc_unlocked(int c, FILE *stream); size_t fread_unlocked(void *ptr, size_t size, size_t n, FILE *stream); size_t fwrite_unlocked(const void *ptr, size_t size, size_t n, FILE *stream); #define _GNU_SOURCE #include <stdio.h> char *fgets_unlocked(char *s, int n, FILE *stream); int fputs_unlocked(const char *s, FILE *stream); #define _GNU_SOURCE #include <wchar.h> wint_t getwc_unlocked(FILE *stream); wint_t getwchar_unlocked(void); wint_t fgetwc_unlocked(FILE *stream); wint_t fputwc_unlocked(wchar_t wc, FILE *stream); wint_t putwc_unlocked(wchar_t wc, FILE *stream); wint_t putwchar_unlocked(wchar_t wc); wchar_t *fgetws_unlocked(wchar_t *ws, int n, FILE *stream); int fputws_unlocked(const wchar_t *ws, FILE *stream); DESCRIPTION
Each of these functions has the same behaviour as its counterpart without the `_unlocked' suffix, except that they do not use locking (they do not set locks themselves, and do not test for the presence of locks set by others) and hence are thread-unsafe. See flockfile(3). CONFORMING TO
The four functions getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked() are in POSIX.1. The nonstandard *_unlocked() variants occur on a few Unix systems, and are available in recent glibc. They should probably not be used. SEE ALSO
flockfile(3) 2001-10-18 UNLOCKED_STDIO(3)
All times are GMT -4. The time now is 02:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy