📄 _flsoc.h
字号:
/* s e t W i n d o w */
/* */
/* Sets in hardware all current window parameters: Base address, size, */
/* speed and bus width. */
/* The requested settings are given in the 'vol.window' structure. */
/* */
/* If it is not possible to set the window size requested in */
/* 'vol.window.size', the window size should be set to a larger value, */
/* if possible. In any case, 'vol.window.size' should contain the */
/* actual window size (in 4 KB units) on exit. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* */
/*----------------------------------------------------------------------*/
void (*setWindow)(FLSocket vol);
/*----------------------------------------------------------------------*/
/* s e t M a p p i n g C o n t e x t */
/* */
/* Sets the window mapping register to a card address. */
/* */
/* The window should be set to the value of 'vol.window.currentPage', */
/* which is the card address divided by 4 KB. An address over 128KB, */
/* (page over 32K) specifies an attribute-space address. */
/* */
/* The page to map is guaranteed to be on a full window-size boundary. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* */
/*----------------------------------------------------------------------*/
void (*setMappingContext)(FLSocket vol, unsigned page);
/*----------------------------------------------------------------------*/
/* g e t A n d C l e a r C a r d C h a n g e I n d i c a t o r */
/* */
/* Returns the hardware card-change indicator and clears it if set. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* */
/* Returns: */
/* 0 = Card not changed, other = card changed */
/*----------------------------------------------------------------------*/
FLBoolean (*getAndClearCardChangeIndicator)(FLSocket vol);
/*----------------------------------------------------------------------*/
/* w r i t e P r o t e c t e d */
/* */
/* Returns the write-protect state of the media */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* */
/* Returns: */
/* 0 = not write-protected, other = write-protected */
/*----------------------------------------------------------------------*/
FLBoolean (*writeProtected)(FLSocket vol);
/*----------------------------------------------------------------------*/
/* u p d a t e S o c k e t P a r a m s */
/* */
/* Pass socket parameters to the socket interface layer. */
/* The structure passed in irData is specific for each socket interface.*/
/* */
/* Parameters: */
/* vol : pointer identifying drive */
/* params : pointer to structure that holds socket */
/* parameters. */
/* */
/*----------------------------------------------------------------------*/
void (*updateSocketParams)(FLSocket vol, void FAR1 *params);
/*----------------------------------------------------------------------*/
/* f r e e S o c k e t */
/* */
/* Free resources that were allocated for this socket. */
/* This function is called when FLite exits. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* */
/*----------------------------------------------------------------------*/
#ifdef EXIT
void (*freeSocket)(FLSocket vol);
#endif
};
/* See interface documentation of functions in socket.c */
extern FLStatus updateSocketParameters(FLSocket *, void FAR1 *);
extern FLStatus flInitSockets(void);
#ifdef EXIT
extern void flExitSocket(FLSocket *);
#endif
extern FLByte flSocketNoOf(const FLSocket *);
extern FLSocket* flSocketOf(unsigned volNo);
extern FLBuffer* flBufferOf(unsigned volNo);
#if (defined(VERIFY_WRITE) || defined(VERIFY_ERASE) || defined(MTD_RECONSTRUCT_BBT) || defined(VERIFY_VOLUME))
extern FLByte * flReadBackBufferOf(unsigned volNo);
#endif /* VERIFY_WRITE || VERIFY_ERASE || MTD_RECONSTRUCT_BBT || VERIFY_VOLUME */
extern void flNeedVcc(FLSocket *);
extern void flDontNeedVcc(FLSocket *);
#ifdef SOCKET_12_VOLTS
extern FLStatus flNeedVpp(FLSocket *);
extern void flDontNeedVpp(FLSocket *);
#endif
extern void flSocketSetBusy(FLSocket *, FLBoolean); /* entry/exit operations */
extern FLBoolean flWriteProtected(FLSocket *); /* write-protection status */
#ifndef FIXED_MEDIA
extern FLStatus flMediaCheck(FLSocket *); /* check for media status change */
extern void flResetCardChanged(FLSocket *);
#endif
extern unsigned flGetMappingContext(FLSocket *); /* Currently mapped 4KB page */
extern void FAR0*flMap(FLSocket *, CardAddress); /* map and point at card address */
extern void flSetWindowBusWidth(FLSocket *, unsigned); /* set window data-path */
extern void flSetWindowSpeed(FLSocket *, unsigned); /* set window speed (nsec.) */
extern void flSetWindowSize(FLSocket *, unsigned); /* in 4KB units */
extern void flSetPowerOnCallback(FLSocket *, void (*)(void *), void *);
/* Set MTD notification for socket power on */
extern void flIntervalRoutine(FLSocket *); /* socket interval routine */
#endif /* _FLSOC_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -